/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/ViewModels/Dialogs/CompressSkippedItemsDialogViewModel.cs
59 строк
1 KB
yair100
Feature: Added prompt when there is issue compressing file (#18723)
16 июл 2026, 21:59
Не верифицирован
16 июл 2026, 21:59
b30f334
Код
Авторство
О чём код?
// Copyright (c) Files Community // SPDX-License-Identifier: MPL-2.0 using Files.Shared.Utils; namespace Files.App.ViewModels.Dialogs { public sealed partial class CompressSkippedItemsDialogViewModel : ObservableObject { public ObservableCollection<CompressSkippedItemViewModel> Items { get; } public string Description => Strings.CompressSkippedItemsDialogText.GetLocalizedFormatResource(Items.Count); public CompressSkippedItemsDialogViewModel(IEnumerable<string> paths) { Items = new(paths.Select(path => new CompressSkippedItemViewModel(path))); _ = LoadItemsIconAsync(); } private async Task LoadItemsIconAsync() { var imageService = Ioc.Default.GetRequiredService<IImageService>(); foreach (var item in Items) { try { item.ItemIcon = await imageService.GetImageModelFromPathAsync(item.SourcePath, 64u); } catch (Exception) { // Icons are best-effort, e.g. the item may be inaccessible } } } } public sealed partial class CompressSkippedItemViewModel : ObservableObject { public string SourcePath { get; } public string DisplayName { get; } private IImage? _ItemIcon; public IImage? ItemIcon { get => _ItemIcon; set => SetProperty(ref _ItemIcon, value); } public CompressSkippedItemViewModel(string sourcePath) { SourcePath = sourcePath; DisplayName = SystemIO.Path.GetFileName(SystemIO.Path.TrimEndingDirectorySeparator(sourcePath)); } } }