@@ -28,6 +28,7 @@ public sealed partial class AdvancedViewModel : ObservableObject
2828 public ICommand ExportSettingsCommand { get ; }
2929 public ICommand ImportSettingsCommand { get ; }
3030 public AsyncRelayCommand OpenFilesOnWindowsStartupCommand { get ; }
31+ public ICommand ClearThumbnailCacheCommand { get ; }
3132
3233
3334 public AdvancedViewModel ( )
@@ -40,8 +41,10 @@ public AdvancedViewModel()
4041 ExportSettingsCommand = new AsyncRelayCommand ( ExportSettingsAsync ) ;
4142 ImportSettingsCommand = new AsyncRelayCommand ( ImportSettingsAsync ) ;
4243 OpenFilesOnWindowsStartupCommand = new AsyncRelayCommand ( OpenFilesOnWindowsStartupAsync ) ;
44+ ClearThumbnailCacheCommand = new AsyncRelayCommand ( ClearThumbnailCacheAsync ) ;
4345
4446 _ = DetectOpenFilesAtStartupAsync ( ) ;
47+ _ = UpdateCacheSizeAsync ( ) ;
4548 }
4649
4750 private async Task SetAsDefaultExplorerAsync ( )
@@ -356,6 +359,56 @@ public bool ShowFlattenOptions
356359 }
357360 }
358361
362+ public bool EnableThumbnailCache
363+ {
364+ get => UserSettingsService. GeneralSettingsService. EnableThumbnailCache;
365+ set
366+ {
367+ if ( value ! = UserSettingsService . GeneralSettingsService . EnableThumbnailCache )
368+ {
369+ UserSettingsService . GeneralSettingsService . EnableThumbnailCache = value ;
370+ OnPropertyChanged ( ) ;
371+ }
372+ }
373+ }
374+
375+ public double ThumbnailCacheSizeLimit
376+ {
377+ get => UserSettingsService. GeneralSettingsService. ThumbnailCacheSizeLimit;
378+ set
379+ {
380+ if ( value ! = UserSettingsService . GeneralSettingsService . ThumbnailCacheSizeLimit )
381+ {
382+ UserSettingsService . GeneralSettingsService . ThumbnailCacheSizeLimit = value ;
383+ OnPropertyChanged ( ) ;
384+ }
385+ }
386+ }
387+
388+ private string cacheSizeText = string . Empty ;
389+ public string CacheSizeText
390+ {
391+ get => cacheSizeText;
392+ set => SetProperty( ref cacheSizeText , value ) ;
393+ }
394+
395+ private bool isClearCacheButtonEnabled ;
396+ public bool IsClearCacheButtonEnabled
397+ {
398+ get => isClearCacheButtonEnabled;
399+ set => SetProperty( ref isClearCacheButtonEnabled , value ) ;
400+ }
401+
402+ private async Task ClearThumbnailCacheAsync( )
403+ {
404+ //TODO: Clear thumbnail cache.
405+ }
406+
407+ private async Task UpdateCacheSizeAsync ( )
408+ {
409+ //TODO: Get thumbnail cache size and update CacheSizeText and IsClearCacheButtonEnabled accordingly.
410+ }
411+
359412 public async Task OpenFilesOnWindowsStartupAsync( )
360413 {
361414 var stateMode = await ReadState( ) ;
0 commit comments