@@ -797,12 +797,14 @@ public async Task GetDefaultItemIcons(uint size)
797
797
if ( currentDefaultIconSize != size )
798
798
{
799
799
// TODO: Add more than just the folder icon
800
-
801
800
DefaultIcons . Clear ( ) ;
802
- BitmapImage img = new BitmapImage ( ) ;
803
- using var icon = await StorageItemIconHelpers . GetIconForItemType ( size , IconPersistenceOptions . Persist ) ;
804
- await img . SetSourceAsync ( icon ) ;
805
- DefaultIcons . Add ( string . Empty , img ) ;
801
+ using StorageItemThumbnail icon = await FilesystemTasks . Wrap ( ( ) => StorageItemIconHelpers . GetIconForItemType ( size , IconPersistenceOptions . Persist ) ) ;
802
+ if ( icon != null )
803
+ {
804
+ BitmapImage img = new BitmapImage ( ) ;
805
+ await img . SetSourceAsync ( icon ) ;
806
+ DefaultIcons . Add ( string . Empty , img ) ;
807
+ }
806
808
currentDefaultIconSize = size ;
807
809
}
808
810
}
@@ -831,9 +833,9 @@ private async Task LoadItemThumbnail(ListedItem item, uint thumbnailSize = 20, I
831
833
var matchingStorageFile = matchingStorageItem . AsBaseStorageFile ( ) ?? await GetFileFromPathAsync ( item . ItemPath ) ;
832
834
if ( matchingStorageFile != null )
833
835
{
834
- var mode = thumbnailSize < 80 ? ThumbnailMode . ListView : ThumbnailMode . SingleItem ;
836
+ var mode = thumbnailSize < 80 ? ThumbnailMode . ListView : ThumbnailMode . DocumentsView ;
835
837
836
- using var Thumbnail = await matchingStorageFile . GetThumbnailAsync ( mode , thumbnailSize , ThumbnailOptions . ResizeThumbnail ) ;
838
+ using StorageItemThumbnail Thumbnail = await FilesystemTasks . Wrap ( ( ) => matchingStorageFile . GetThumbnailAsync ( mode , thumbnailSize , ThumbnailOptions . ResizeThumbnail ) . AsTask ( ) ) ;
837
839
if ( ! ( Thumbnail == null || Thumbnail . Size == 0 || Thumbnail . OriginalHeight == 0 || Thumbnail . OriginalWidth == 0 ) )
838
840
{
839
841
await CoreApplication . MainView . DispatcherQueue . EnqueueAsync ( async ( ) =>
@@ -844,7 +846,7 @@ await CoreApplication.MainView.DispatcherQueue.EnqueueAsync(async () =>
844
846
await item . FileImage . SetSourceAsync ( Thumbnail ) ;
845
847
if ( ! string . IsNullOrEmpty ( item . FileExtension ) &&
846
848
! item . IsShortcutItem && ! item . IsExecutable &&
847
- ! ImagePreviewViewModel . Extensions . Contains ( item . FileExtension ) )
849
+ ! ImagePreviewViewModel . Extensions . Contains ( item . FileExtension , StringComparer . OrdinalIgnoreCase ) )
848
850
{
849
851
DefaultIcons . AddIfNotPresent ( item . FileExtension . ToLowerInvariant ( ) , item . FileImage ) ;
850
852
}
@@ -873,7 +875,7 @@ await CoreApplication.MainView.DispatcherQueue.EnqueueAsync(async () =>
873
875
item . FileImage = await iconInfo . IconData . ToBitmapAsync ( ) ;
874
876
if ( ! string . IsNullOrEmpty ( item . FileExtension ) &&
875
877
! item . IsShortcutItem && ! item . IsExecutable &&
876
- ! ImagePreviewViewModel . Extensions . Contains ( item . FileExtension ) )
878
+ ! ImagePreviewViewModel . Extensions . Contains ( item . FileExtension , StringComparer . OrdinalIgnoreCase ) )
877
879
{
878
880
DefaultIcons . AddIfNotPresent ( item . FileExtension . ToLowerInvariant ( ) , item . FileImage ) ;
879
881
}
@@ -898,7 +900,7 @@ await CoreApplication.MainView.DispatcherQueue.EnqueueAsync(async () =>
898
900
{
899
901
var mode = thumbnailSize < 80 ? ThumbnailMode . ListView : ThumbnailMode . SingleItem ;
900
902
901
- using var Thumbnail = await matchingStorageFolder . GetThumbnailAsync ( mode , thumbnailSize , ThumbnailOptions . ResizeThumbnail ) ;
903
+ using StorageItemThumbnail Thumbnail = await FilesystemTasks . Wrap ( ( ) => matchingStorageFolder . GetThumbnailAsync ( mode , thumbnailSize , ThumbnailOptions . ResizeThumbnail ) . AsTask ( ) ) ;
902
904
if ( ! ( Thumbnail == null || Thumbnail . Size == 0 || Thumbnail . OriginalHeight == 0 || Thumbnail . OriginalWidth == 0 ) )
903
905
{
904
906
await CoreApplication . MainView . DispatcherQueue . EnqueueAsync ( async ( ) =>
@@ -1130,7 +1132,7 @@ private async Task<ImageSource> GetItemTypeGroupIcon(ListedItem item, BaseStorag
1130
1132
1131
1133
if ( matchingStorageItem != null )
1132
1134
{
1133
- using var headerThumbnail = await matchingStorageItem . GetThumbnailAsync ( ThumbnailMode . DocumentsView , 36 , ThumbnailOptions . UseCurrentScale ) ;
1135
+ using StorageItemThumbnail headerThumbnail = await FilesystemTasks . Wrap ( ( ) => matchingStorageItem . GetThumbnailAsync ( ThumbnailMode . DocumentsView , 36 , ThumbnailOptions . UseCurrentScale ) . AsTask ( ) ) ;
1134
1136
if ( headerThumbnail != null )
1135
1137
{
1136
1138
await CoreApplication . MainView . DispatcherQueue . EnqueueAsync ( async ( ) =>
0 commit comments