/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Data/Items/WidgetDriveCardItem.cs
51 строка
1 KB
Steve
Code Quality: Upgrade dependencies (#16741)
09 фев 2025, 05:02
Не верифицирован
09 фев 2025, 05:02
273c947
Код
Авторство
О чём код?
// Copyright (c) Files Community // Licensed under the MIT License. using Microsoft.UI.Xaml.Media.Imaging; namespace Files.App.Data.Items { public sealed partial class WidgetDriveCardItem : WidgetCardItem, IWidgetCardItem<DriveItem>, IComparable<WidgetDriveCardItem> { private byte[] thumbnailData; public new DriveItem Item { get; private set; } private BitmapImage thumbnail; public BitmapImage Thumbnail { get => thumbnail; set => SetProperty(ref thumbnail, value); } public WidgetDriveCardItem(DriveItem item) { Item = item; Path = item.Path; } public async Task LoadCardThumbnailAsync() { var result = await FileThumbnailHelper.GetIconAsync( Item.Path, Constants.ShellIconSizes.Large, true, IconOptions.ReturnIconOnly | IconOptions.UseCurrentScale); if (result is null) { using var thumbnail = await DriveHelpers.GetThumbnailAsync(Item.Root); result ??= await thumbnail.ToByteArrayAsync(); } thumbnailData = result; var bitmapImage = await MainWindow.Instance.DispatcherQueue.EnqueueOrInvokeAsync(() => thumbnailData.ToBitmapAsync(), Microsoft.UI.Dispatching.DispatcherQueuePriority.Normal); if (bitmapImage is not null) Thumbnail = bitmapImage; } public int CompareTo(WidgetDriveCardItem? other) => Item.Path.CompareTo(other?.Item?.Path); } }