| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888 | 
							- using System.Reactive;
 
- using System.Reactive.Linq;
 
- using Avalonia;
 
- using Avalonia.Controls;
 
- using Avalonia.Controls.Primitives;
 
- using Avalonia.Layout;
 
- using Avalonia.Media;
 
- using PicView.Avalonia.Clipboard;
 
- using PicView.Avalonia.Converters;
 
- using PicView.Avalonia.Gallery;
 
- using PicView.Avalonia.Interfaces;
 
- using PicView.Avalonia.Navigation;
 
- using PicView.Avalonia.UI;
 
- using PicView.Core.Calculations;
 
- using PicView.Core.Config;
 
- using PicView.Core.FileHandling;
 
- using PicView.Core.Gallery;
 
- using PicView.Core.ProcessHandling;
 
- using ReactiveUI;
 
- using ImageViewer = PicView.Avalonia.Views.ImageViewer;
 
- namespace PicView.Avalonia.ViewModels;
 
- public class MainViewModel : ViewModelBase
 
- {
 
-     public readonly IPlatformSpecificService? PlatformService;
 
-     
 
-     #region Image
 
-     
 
-     private object? _imageSource;
 
-     
 
-     public object? ImageSource
 
-     {
 
-         get => _imageSource;
 
-         set => this.RaiseAndSetIfChanged(ref _imageSource, value);
 
-     }
 
-     
 
-     private object? _secondaryImageSource;
 
-     
 
-     public object? SecondaryImageSource
 
-     {
 
-         get => _secondaryImageSource;
 
-         set => this.RaiseAndSetIfChanged(ref _secondaryImageSource, value);
 
-     }
 
-     
 
-     private ImageType _imageType;
 
-     
 
-     public ImageType ImageType
 
-     {
 
-         get => _imageType;
 
-         set => this.RaiseAndSetIfChanged(ref _imageType, value);
 
-     }
 
-     
 
-     private double _imageWidth;
 
-     public double ImageWidth
 
-     {
 
-         get => _imageWidth;
 
-         set => this.RaiseAndSetIfChanged(ref _imageWidth, value);
 
-     }
 
-     private double _imageHeight;
 
-     public double ImageHeight
 
-     {
 
-         get => _imageHeight;
 
-         set => this.RaiseAndSetIfChanged(ref _imageHeight, value);
 
-     }
 
-     
 
-     private double _imageSecondaryWidth;
 
-     
 
-     public double SecondaryImageWidth
 
-     {
 
-         get => _imageSecondaryWidth;
 
-         set => this.RaiseAndSetIfChanged(ref _imageSecondaryWidth, value);
 
-     }
 
-     private Brush? _imageBackground;
 
-     
 
-     public Brush? ImageBackground
 
-     {
 
-         get => _imageBackground;
 
-         set => this.RaiseAndSetIfChanged(ref _imageBackground, value);
 
-     }
 
-     private bool _isShowingSideBySide = SettingsHelper.Settings.ImageScaling.ShowImageSideBySide;
 
-     
 
-     public bool IsShowingSideBySide
 
-     {
 
-         get => _isShowingSideBySide;
 
-         set => this.RaiseAndSetIfChanged(ref _isShowingSideBySide, value);
 
-     }
 
-     private double _scrollViewerWidth = double.NaN;
 
-     
 
-     public double ScrollViewerWidth
 
-     {
 
-         get => _scrollViewerWidth;
 
-         set => this.RaiseAndSetIfChanged(ref _scrollViewerWidth, value);
 
-     }
 
-     
 
-     private double _scrollViewerHeight = double.NaN;
 
-     
 
-     public double ScrollViewerHeight
 
-     {
 
-         get => _scrollViewerHeight;
 
-         set => this.RaiseAndSetIfChanged(ref _scrollViewerHeight, value);
 
-     }
 
-     
 
-     
 
-     #endregion
 
-     #region Gallery
 
-     
 
-     private Thickness _galleryMargin;
 
-     public Thickness GalleryMargin
 
-     {
 
-         get => _galleryMargin;
 
-         set => this.RaiseAndSetIfChanged(ref _galleryMargin, value);
 
-     }
 
-     
 
-     private bool _isGalleryShown = SettingsHelper.Settings.UIProperties.ShowInterface && SettingsHelper.Settings.Gallery.IsBottomGalleryShown;
 
-     public bool IsGalleryShown
 
-     {
 
-         get => _isGalleryShown;
 
-         set => this.RaiseAndSetIfChanged(ref _isGalleryShown, value);
 
-     }
 
-     private bool _isBottomGalleryShownInHiddenUi = SettingsHelper.Settings.Gallery.ShowBottomGalleryInHiddenUI;
 
-     public bool IsBottomGalleryShownInHiddenUI
 
-     {
 
-         get => _isBottomGalleryShownInHiddenUi;
 
-         set => this.RaiseAndSetIfChanged(ref _isBottomGalleryShownInHiddenUi, value);
 
-     }
 
-     private GalleryMode _galleryMode = GalleryMode.Closed;
 
-     public GalleryMode GalleryMode
 
-     {
 
-         get => _galleryMode;
 
-         set => this.RaiseAndSetIfChanged(ref _galleryMode, value);
 
-     }
 
-     private Stretch _galleryStretch;
 
-     public Stretch GalleryStretch
 
-     {
 
-         get => _galleryStretch;
 
-         set => this.RaiseAndSetIfChanged(ref _galleryStretch, value);
 
-     }
 
-     
 
-     private int _selectedGalleryItemIndex;
 
-     public int SelectedGalleryItemIndex
 
-     {
 
-         get => _selectedGalleryItemIndex;
 
-         set => this.RaiseAndSetIfChanged(ref _selectedGalleryItemIndex, value);
 
-     }
 
-     private VerticalAlignment _galleryVerticalAlignment = VerticalAlignment.Bottom;
 
-     public VerticalAlignment GalleryVerticalAlignment
 
-     {
 
-         get => _galleryVerticalAlignment;
 
-         set => this.RaiseAndSetIfChanged(ref _galleryVerticalAlignment, value);
 
-     }
 
-     private Orientation _galleryOrientation;
 
-     public Orientation GalleryOrientation
 
-     {
 
-         set => this.RaiseAndSetIfChanged(ref _galleryOrientation, value);
 
-         get => _galleryOrientation;
 
-     }
 
-     private bool _isGalleryCloseIconVisible;
 
-     public bool IsGalleryCloseIconVisible
 
-     {
 
-         get => _isGalleryCloseIconVisible;
 
-         set => this.RaiseAndSetIfChanged(ref _isGalleryCloseIconVisible, value);
 
-     }
 
-     
 
-     private double _galleryWidth;
 
-     public double GalleryWidth
 
-     {
 
-         get => _galleryWidth;
 
-         set => this.RaiseAndSetIfChanged(ref _galleryWidth, value);
 
-     }
 
-     public double GalleryHeight
 
-     {
 
-         get
 
-         {
 
-             if (!SettingsHelper.Settings.Gallery.IsBottomGalleryShown)
 
-             {
 
-                 return 0;
 
-             }
 
-             if (SettingsHelper.Settings.WindowProperties.Fullscreen)
 
-             {
 
-                 return SettingsHelper.Settings.Gallery.IsBottomGalleryShown ? GetBottomGalleryItemHeight + SizeDefaults.ScrollbarSize : 0;
 
-             }
 
-             if (!SettingsHelper.Settings.Gallery.ShowBottomGalleryInHiddenUI && !IsInterfaceShown)
 
-             {
 
-                 return 0;
 
-             }
 
-             return GetBottomGalleryItemHeight + SizeDefaults.ScrollbarSize;
 
-         }
 
-     }
 
-     private double _getGalleryItemWidth = double.NaN;
 
-     public double GetGalleryItemWidth
 
-     {
 
-         get => _getGalleryItemWidth;
 
-         set => this.RaiseAndSetIfChanged(ref _getGalleryItemWidth, value);
 
-     }
 
-     
 
-     private double _getGalleryItemHeight;
 
-     public double GetGalleryItemHeight
 
-     {
 
-         get
 
-         {
 
-             return GalleryFunctions.IsFullGalleryOpen ? GetFullGalleryItemHeight : GetBottomGalleryItemHeight;
 
-         }
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _getGalleryItemHeight, value);
 
-             if (GalleryFunctions.IsBottomGalleryOpen && !GalleryFunctions.IsFullGalleryOpen)
 
-             {
 
-                 GetBottomGalleryItemHeight = value;
 
-             }
 
-             else
 
-             {
 
-                 GetFullGalleryItemHeight = value;
 
-             }
 
-         }
 
-     }
 
-     private double _getFullGalleryItemHeight = SettingsHelper.Settings.Gallery.ExpandedGalleryItemSize;
 
-     public double GetFullGalleryItemHeight
 
-     {
 
-         get => _getFullGalleryItemHeight;
 
-         set => this.RaiseAndSetIfChanged(ref _getFullGalleryItemHeight, value);
 
-     }
 
-     
 
-     private double _getBottomGalleryItemHeight = SettingsHelper.Settings.Gallery.BottomGalleryItemSize;
 
-     
 
-     public double GetBottomGalleryItemHeight
 
-     {
 
-         get => _getBottomGalleryItemHeight;
 
-         set => this.RaiseAndSetIfChanged(ref _getBottomGalleryItemHeight, value);
 
-     }
 
-     
 
-     public double MaxFullGalleryItemHeight
 
-     {
 
-         get => GalleryDefaults.MaxFullGalleryItemHeight;
 
-     }
 
-     
 
-     public double MinFullGalleryItemHeight
 
-     {
 
-         get => GalleryDefaults.MinFullGalleryItemHeight;
 
-     }
 
-     public double MaxBottomGalleryItemHeight
 
-     {
 
-         get => GalleryDefaults.MaxBottomGalleryItemHeight;
 
-     }
 
-     
 
-     public double MinBottomGalleryItemHeight
 
-     {
 
-         get => GalleryDefaults.MinBottomGalleryItemHeight;
 
-     }
 
-     
 
-     private Thickness _galleryItemMargin;
 
-     
 
-     public Thickness GalleryItemMargin
 
-     {
 
-         get => _galleryItemMargin;
 
-         set => this.RaiseAndSetIfChanged(ref _galleryItemMargin, value);
 
-     }
 
-     #region Gallery Stretch IsChecked
 
-     
 
-     private bool _isUniformBottomChecked;
 
-     public bool IsUniformBottomChecked
 
-     {
 
-         get => _isUniformBottomChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isUniformBottomChecked, value);
 
-     }
 
-     
 
-     private bool _isUniformFullChecked;
 
-     public bool IsUniformFullChecked
 
-     {
 
-         get => _isUniformFullChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isUniformFullChecked, value);
 
-     }
 
-     private bool _isUniformMenuChecked;
 
-     public bool IsUniformMenuChecked
 
-     {
 
-         get => _isUniformMenuChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isUniformMenuChecked, value);
 
-     }
 
-     
 
-     private bool _isUniformToFillBottomChecked;
 
-     public bool IsUniformToFillBottomChecked
 
-     {
 
-         get => _isUniformToFillBottomChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isUniformToFillBottomChecked, value);
 
-     }
 
-     
 
-     private bool _isUniformToFillFullChecked;
 
-     public bool IsUniformToFillFullChecked
 
-     {
 
-         get => _isUniformToFillFullChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isUniformToFillFullChecked, value);
 
-     }
 
-     private bool _isUniformToFillMenuMenuChecked;
 
-     public bool IsUniformToFillMenuChecked
 
-     {
 
-         get => _isUniformToFillMenuMenuChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isUniformToFillMenuMenuChecked, value);
 
-     }
 
-     
 
-     private bool _isFillBottomChecked;
 
-     public bool IsFillBottomChecked
 
-     {
 
-         get => _isFillBottomChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isFillBottomChecked, value);
 
-     }
 
-     
 
-     private bool _isFillFullChecked;
 
-     public bool IsFillFullChecked
 
-     {
 
-         get => _isFillFullChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isFillFullChecked, value);
 
-     }
 
-     private bool _isFillMenuMenuChecked;
 
-     public bool IsFillMenuChecked
 
-     {
 
-         get => _isFillMenuMenuChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isFillMenuMenuChecked, value);
 
-     }
 
-     
 
-     private bool _isNoneBottomChecked;
 
-     public bool IsNoneBottomChecked
 
-     {
 
-         get => _isNoneBottomChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isNoneBottomChecked, value);
 
-     }
 
-     
 
-     private bool _isNoneFullChecked;
 
-     public bool IsNoneFullChecked
 
-     {
 
-         get => _isNoneFullChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isNoneFullChecked, value);
 
-     }
 
-     private bool _isNoneMenuChecked;
 
-     public bool IsNoneMenuChecked
 
-     {
 
-         get => _isNoneMenuChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isNoneMenuChecked, value);
 
-     }
 
-     
 
-     private bool _isSquareBottomChecked;
 
-     public bool IsSquareBottomChecked
 
-     {
 
-         get => _isSquareBottomChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isSquareBottomChecked, value);
 
-     }
 
-     
 
-     private bool _isSquareFullChecked;
 
-     public bool IsSquareFullChecked
 
-     {
 
-         get => _isSquareFullChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isSquareFullChecked, value);
 
-     }
 
-     private bool _isSquareMenuChecked;
 
-     public bool IsSquareMenuChecked
 
-     {
 
-         get => _isSquareMenuChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isSquareMenuChecked, value);
 
-     }
 
-     
 
-     private bool _isFillSquareBottomChecked;
 
-     public bool IsFillSquareBottomChecked
 
-     {
 
-         get => _isFillSquareBottomChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isFillSquareBottomChecked, value);
 
-     }
 
-     
 
-     private bool _isFillSquareFullChecked;
 
-     public bool IsFillSquareFullChecked
 
-     {
 
-         get => _isFillSquareFullChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isFillSquareFullChecked, value);
 
-     }
 
-     private bool _isFillSquareMenuChecked;
 
-     public bool IsFillSquareMenuChecked
 
-     {
 
-         get => _isFillSquareMenuChecked;
 
-         set => this.RaiseAndSetIfChanged(ref _isFillSquareMenuChecked, value);
 
-     }
 
-     #endregion
 
-     #endregion Gallery
 
-     #region Commands
 
-     public ReactiveCommand<Unit, Unit>? ExitCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? MinimizeCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? MaximizeCommand { get; }
 
-     
 
-     public ReactiveCommand<Unit, Unit>? ToggleFullscreenCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? NextCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? NextButtonCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? NextArrowButtonCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? PreviousCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? PreviousButtonCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? PreviousArrowButtonCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? NextFolderCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? PreviousFolderCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? FirstCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? LastCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? OpenFileCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SaveFileCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? OpenLastFileCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? PasteCommand { get; }
 
-     public ReactiveCommand<string, Unit>? CopyFileCommand { get; }
 
-     public ReactiveCommand<string, Unit>? CopyBase64Command { get; }
 
-     public ReactiveCommand<string, Unit>? CopyFilePathCommand { get; }
 
-     public ReactiveCommand<string, Unit>? FilePropertiesCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? CopyImageCommand { get; }
 
-     public ReactiveCommand<string, Unit>? CutCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ReloadCommand { get; }
 
-     public ReactiveCommand<string, Unit>? PrintCommand { get; }
 
-     public ReactiveCommand<string, Unit>? DeleteFileCommand { get; }
 
-     public ReactiveCommand<string, Unit>? RecycleFileCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? CloseMenuCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleFileMenuCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleImageMenuCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleSettingsMenuCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleToolsMenuCommand { get; }
 
-     public ReactiveCommand<string, Unit>? LocateOnDiskCommand { get; }
 
-     public ReactiveCommand<string, Unit>? OpenWithCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? RenameCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? NewWindowCommand { get; }
 
-     public ReactiveCommand<string, Unit>? DuplicateFileCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleLoopingCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? RotateLeftCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? RotateRightCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? FlipCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? StretchCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? CropCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ChangeAutoFitCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ChangeTopMostCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ChangeCtrlZoomCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleUICommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ChangeBackgroundCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleBottomNavBarCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleBottomGalleryShownInHiddenUICommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleTaskbarProgressCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ShowExifWindowCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ShowAboutWindowCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ShowSettingsWindowCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ShowKeybindingsWindowCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SetExifRating0Command { get; }
 
-     public ReactiveCommand<Unit, Unit>? SetExifRating1Command { get; }
 
-     public ReactiveCommand<Unit, Unit>? SetExifRating2Command { get; }
 
-     public ReactiveCommand<Unit, Unit>? SetExifRating3Command { get; }
 
-     public ReactiveCommand<Unit, Unit>? SetExifRating4Command { get; }
 
-     public ReactiveCommand<Unit, Unit>? SetExifRating5Command { get; }
 
-     public ReactiveCommand<Unit, Unit>? OpenGoogleLinkCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? OpenBingLinkCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? OptimizeImageCommand { get; }
 
-     public ReactiveCommand<int, Unit>? ResizeCommand { get; }
 
-     public ReactiveCommand<int, Unit>? ConvertCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesByNameCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesBySizeCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesByExtensionCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesByCreationTimeCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesByLastAccessTimeCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesRandomlyCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesAscendingCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? SortFilesDescendingCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleGalleryCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleBottomGalleryCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? CloseGalleryCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleScrollCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ToggleSubdirectoriesCommand { get; }
 
-     public ReactiveCommand<Unit, Unit>? ColorPickerCommand { get; }
 
-     public ReactiveCommand<int, Unit>? SlideshowCommand { get; }
 
-     
 
-     public ReactiveCommand<string, Unit>? SetAsWallpaperCommand { get; }
 
-     
 
-     public ReactiveCommand<string, Unit>? SetAsLockScreenCommand { get; }
 
-     
 
-     public ReactiveCommand<string, Unit>? GalleryItemStretchCommand { get; }
 
-     
 
-     public ReactiveCommand<Unit, Unit>? ResetSettingsCommand { get; }
 
-     
 
-     public ReactiveCommand<Unit, Unit>? ShowSideBySideCommand { get; }
 
-     #endregion Commands
 
-     #region Fields
 
-     #region Booleans
 
-     private bool _isLoading;
 
-     public bool IsLoading
 
-     {
 
-         get => _isLoading;
 
-         set => this.RaiseAndSetIfChanged(ref _isLoading, value);
 
-     }
 
-     private bool _isInterfaceShown = SettingsHelper.Settings.UIProperties.ShowInterface;
 
-     public bool IsInterfaceShown
 
-     {
 
-         get => _isInterfaceShown;
 
-         set => this.RaiseAndSetIfChanged(ref _isInterfaceShown, value);
 
-     }
 
-     private bool _isTopToolbarShown = SettingsHelper.Settings.UIProperties.ShowInterface;
 
-     public bool IsTopToolbarShown
 
-     {
 
-         get => _isTopToolbarShown;
 
-         set => this.RaiseAndSetIfChanged(ref _isTopToolbarShown, value);
 
-     }
 
-     private bool _isBottomToolbarShown = SettingsHelper.Settings.UIProperties.ShowBottomNavBar &&
 
-                                          SettingsHelper.Settings.UIProperties.ShowInterface;
 
-     public bool IsBottomToolbarShown
 
-     {
 
-         get => _isBottomToolbarShown;
 
-         set => this.RaiseAndSetIfChanged(ref _isBottomToolbarShown, value);
 
-     }
 
-     private bool _isBottomToolbarShownSetting = SettingsHelper.Settings.UIProperties.ShowBottomNavBar;
 
-     public bool IsBottomToolbarShownSetting
 
-     {
 
-         get => _isBottomToolbarShownSetting;
 
-         set => this.RaiseAndSetIfChanged(ref _isBottomToolbarShownSetting, value);
 
-     }
 
-     
 
-     private bool _isShowingTaskbarProgress = SettingsHelper.Settings.UIProperties.IsTaskbarProgressEnabled;
 
-     public bool IsShowingTaskbarProgress
 
-     {
 
-         get => _isShowingTaskbarProgress;
 
-         set => this.RaiseAndSetIfChanged(ref _isShowingTaskbarProgress, value);
 
-     }
 
-     private bool _isFullscreen = SettingsHelper.Settings.WindowProperties.Fullscreen;
 
-     public bool IsFullscreen
 
-     {
 
-         get => _isFullscreen;
 
-         set => this.RaiseAndSetIfChanged(ref _isFullscreen, value);
 
-     }
 
-     private bool _isTopMost = SettingsHelper.Settings.WindowProperties.TopMost;
 
-     public bool IsTopMost
 
-     {
 
-         get => _isTopMost;
 
-         set => this.RaiseAndSetIfChanged(ref _isTopMost, value);
 
-     }
 
-     private bool _isIncludingSubdirectories = SettingsHelper.Settings.Sorting.IncludeSubDirectories;
 
-     public bool IsIncludingSubdirectories
 
-     {
 
-         get => _isIncludingSubdirectories;
 
-         set => this.RaiseAndSetIfChanged(ref _isIncludingSubdirectories, value);
 
-     }
 
-     private bool _isScrollingEnabled;
 
-     public bool IsScrollingEnabled
 
-     {
 
-         get => _isScrollingEnabled;
 
-         set => this.RaiseAndSetIfChanged(ref _isScrollingEnabled, value);
 
-     }
 
-     private bool _isStretched = SettingsHelper.Settings.ImageScaling.StretchImage;
 
-     public bool IsStretched
 
-     {
 
-         get => _isStretched;
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _isStretched, value);
 
-             SettingsHelper.Settings.ImageScaling.StretchImage = value;
 
-             WindowHelper.SetSize(this);
 
-         }
 
-     }
 
-     private bool _isLooping = SettingsHelper.Settings.UIProperties.Looping;
 
-     public bool IsLooping
 
-     {
 
-         get => _isLooping;
 
-         set => this.RaiseAndSetIfChanged(ref _isLooping, value);
 
-     }
 
-     private bool _isAutoFit = SettingsHelper.Settings.WindowProperties.AutoFit;
 
-     public bool IsAutoFit
 
-     {
 
-         get => _isAutoFit;
 
-         set => this.RaiseAndSetIfChanged(ref _isAutoFit, value);
 
-     }
 
-     private bool _isCtrlToZoomEnabled = SettingsHelper.Settings.Zoom.CtrlZoom;
 
-     public bool IsCtrlToZoomEnabled
 
-     {
 
-         get => _isCtrlToZoomEnabled;
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _isCtrlToZoomEnabled, value);
 
-             SettingsHelper.Settings.Zoom.CtrlZoom = value;
 
-         }
 
-     }
 
-     private bool _isNavigatingInReverse = SettingsHelper.Settings.Zoom.HorizontalReverseScroll;
 
-     public bool IsNavigatingInReverse
 
-     {
 
-         get => _isNavigatingInReverse;
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _isNavigatingInReverse, value);
 
-             SettingsHelper.Settings.Zoom.HorizontalReverseScroll = value;
 
-         }
 
-     }
 
-     private bool _isOpeningLastFileOnStartup = SettingsHelper.Settings.StartUp.OpenLastFile;
 
-     public bool IsOpeningLastFileOnStartup
 
-     {
 
-         get => _isOpeningLastFileOnStartup;
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _isOpeningLastFileOnStartup, value);
 
-             SettingsHelper.Settings.StartUp.OpenLastFile = value;
 
-         }
 
-     }
 
-     private bool _isStayingCentered = SettingsHelper.Settings.WindowProperties.KeepCentered;
 
-     public bool IsStayingCentered
 
-     {
 
-         get => _isStayingCentered;
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _isStayingCentered, value);
 
-             SettingsHelper.Settings.WindowProperties.KeepCentered = value;
 
-         }
 
-     }
 
-     private bool _isFileSavingDialogShown = SettingsHelper.Settings.UIProperties.ShowFileSavingDialog;
 
-     public bool IsFileSavingDialogShown
 
-     {
 
-         get => _isFileSavingDialogShown;
 
-         set
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _isFileSavingDialogShown, value);
 
-             SettingsHelper.Settings.UIProperties.ShowFileSavingDialog = value;
 
-         }
 
-     }
 
-     private bool _isOpeningInSameWindow;
 
-     public bool IsOpeningInSameWindow
 
-     {
 
-         get => _isOpeningInSameWindow;
 
-         set => this.RaiseAndSetIfChanged(ref _isOpeningInSameWindow, value);
 
-     }
 
-     private bool _isEditableTitlebarOpen;
 
-     
 
-     public bool IsEditableTitlebarOpen
 
-     {
 
-         get => _isEditableTitlebarOpen;
 
-         set => this.RaiseAndSetIfChanged(ref _isEditableTitlebarOpen, value);
 
-     }
 
-     #endregion Booleans
 
-     public double WindowMinSize
 
-     {
 
-         get
 
-         {
 
-             return SizeDefaults.WindowMinSize;
 
-         }
 
-     }
 
-     
 
-     private double _titlebarHeight = SettingsHelper.Settings.WindowProperties.Fullscreen 
 
-                                      || !SettingsHelper.Settings.UIProperties.ShowInterface ? 0 : SizeDefaults.TitlebarHeight;
 
-     public double TitlebarHeight
 
-     {
 
-         set => this.RaiseAndSetIfChanged(ref _titlebarHeight, value);
 
-         get => _titlebarHeight;
 
-     }
 
-     private double _bottombarHeight = SettingsHelper.Settings.WindowProperties.Fullscreen 
 
-                                       || !SettingsHelper.Settings.UIProperties.ShowInterface ? 0 : SizeDefaults.BottombarHeight;
 
-     public double BottombarHeight         
 
-     {
 
-         set => this.RaiseAndSetIfChanged(ref _bottombarHeight, value);
 
-         get => _bottombarHeight;
 
-     }
 
-     private int _scaleX = 1;
 
-     // Used to flip the flip button
 
-     public int ScaleX
 
-     {
 
-         get => _scaleX;
 
-         set => this.RaiseAndSetIfChanged(ref _scaleX, value);
 
-     }
 
-     private UserControl? _currentView;
 
-     public UserControl? CurrentView
 
-     {
 
-         get => _currentView;
 
-         set => this.RaiseAndSetIfChanged(ref _currentView, value);
 
-     }
 
-     public ImageViewer? ImageViewer;
 
-     private uint _exifRating;
 
-     public uint EXIFRating
 
-     {
 
-         get => _exifRating;
 
-         set => this.RaiseAndSetIfChanged(ref _exifRating, value);
 
-     }
 
-     private int _getIndex;
 
-     public int GetIndex
 
-     {
 
-         get => _getIndex;
 
-         set => this.RaiseAndSetIfChanged(ref _getIndex, value);
 
-     }
 
-     private double _getSlideshowSpeed = SettingsHelper.Settings.UIProperties.SlideShowTimer;
 
-     public double GetSlideshowSpeed
 
-     {
 
-         get => _getSlideshowSpeed;
 
-         set
 
-         {
 
-             var roundedValue = Math.Round(value, 2);
 
-             this.RaiseAndSetIfChanged(ref _getSlideshowSpeed, roundedValue);
 
-             SettingsHelper.Settings.UIProperties.SlideShowTimer = roundedValue;
 
-         }
 
-     }
 
-     private double _getNavSpeed = SettingsHelper.Settings.UIProperties.NavSpeed;
 
-     public double GetNavSpeed
 
-     {
 
-         get => Math.Round(_getNavSpeed, 2);
 
-         set 
 
-         {
 
-             this.RaiseAndSetIfChanged(ref _getNavSpeed, value);
 
-             SettingsHelper.Settings.UIProperties.NavSpeed = value;
 
-         }
 
-     }
 
-     private double _getZoomSpeed = SettingsHelper.Settings.Zoom.ZoomSpeed;
 
-     public double GetZoomSpeed
 
-     {
 
-         get => _getZoomSpeed;
 
-         set
 
-         {
 
-             var roundedValue = Math.Round(value, 2);
 
-             this.RaiseAndSetIfChanged(ref _getZoomSpeed, roundedValue);
 
-             SettingsHelper.Settings.Zoom.ZoomSpeed = roundedValue;
 
-         }
 
-     }
 
-     #region strings
 
-     
 
-     private string? _getFlipped;
 
-     public string? GetFlipped
 
-     {
 
-         get => _getFlipped;
 
-         set => this.RaiseAndSetIfChanged(ref _getFlipped, value);
 
-     }
 
-     private string? _getBottomGallery;
 
-     public string? GetBottomGallery
 
-     {
 
-         get => _getBottomGallery;
 
-         set => this.RaiseAndSetIfChanged(ref _getBottomGallery, value);
 
-     }
 
-     private string? _getLooping;
 
-     public string? GetLooping
 
-     {
 
-         get => _getLooping;
 
-         set => this.RaiseAndSetIfChanged(ref _getLooping, value);
 
-     }
 
-     private string? _getScrolling;
 
-     public string? GetScrolling
 
-     {
 
-         get => _getScrolling;
 
-         set => this.RaiseAndSetIfChanged(ref _getScrolling, value);
 
-     }
 
-     private string? _getCtrlZoom;
 
-     public string? GetCtrlZoom
 
-     {
 
-         get => _getCtrlZoom;
 
-         set => this.RaiseAndSetIfChanged(ref _getCtrlZoom, value);
 
-     }
 
-     private string? _getPrintSizeInch;
 
-     public string? GetPrintSizeInch
 
-     {
 
-         get => _getPrintSizeInch;
 
-         set => this.RaiseAndSetIfChanged(ref _getPrintSizeInch, value);
 
-     }
 
-     private string? _getPrintSizeCm;
 
-     public string? GetPrintSizeCm
 
-     {
 
-         get => _getPrintSizeCm;
 
-         set => this.RaiseAndSetIfChanged(ref _getPrintSizeCm, value);
 
-     }
 
-     private string? _getSizeMp;
 
-     public string? GetSizeMp
 
-     {
 
-         get => _getSizeMp;
 
-         set => this.RaiseAndSetIfChanged(ref _getSizeMp, value);
 
-     }
 
-     private string? _getResolution;
 
-     public string? GetResolution
 
-     {
 
-         get => _getResolution;
 
-         set => this.RaiseAndSetIfChanged(ref _getResolution, value);
 
-     }
 
-     private string? _getBitDepth;
 
-     public string? GetBitDepth
 
-     {
 
-         get => _getBitDepth;
 
-         set => this.RaiseAndSetIfChanged(ref _getBitDepth, value);
 
-     }
 
-     private string? _getAspectRatio;
 
-     public string? GetAspectRatio
 
-     {
 
-         get => _getAspectRatio;
 
-         set => this.RaiseAndSetIfChanged(ref _getAspectRatio, value);
 
-     }
 
-     private string? _getLatitude;
 
-     public string? GetLatitude
 
-     {
 
-         get => _getLatitude;
 
-         set => this.RaiseAndSetIfChanged(ref _getLatitude, value);
 
-     }
 
-     private string? _getLongitude;
 
-     public string? GetLongitude
 
-     {
 
-         get => _getLongitude;
 
-         set => this.RaiseAndSetIfChanged(ref _getLongitude, value);
 
-     }
 
-     private string? _getAltitude;
 
-     public string? GetAltitude
 
-     {
 
-         get => _getAltitude;
 
-         set => this.RaiseAndSetIfChanged(ref _getAltitude, value);
 
-     }
 
-     private string? _googleLink;
 
-     public string? GoogleLink
 
-     {
 
-         get => _googleLink;
 
-         set => this.RaiseAndSetIfChanged(ref _googleLink, value);
 
-     }
 
-     private string? _bingLink;
 
-     public string? BingLink
 
-     {
 
-         get => _bingLink;
 
-         set => this.RaiseAndSetIfChanged(ref _bingLink, value);
 
-     }
 
-     private string? _getAuthors;
 
-     public string? GetAuthors
 
-     {
 
-         get => _getAuthors;
 
-         set => this.RaiseAndSetIfChanged(ref _getAuthors, value);
 
-     }
 
-     private string? _getDateTaken;
 
-     public string? GetDateTaken
 
-     {
 
-         get => _getDateTaken;
 
-         set => this.RaiseAndSetIfChanged(ref _getDateTaken, value);
 
-     }
 
-     private string? _getCopyright;
 
-     public string? GetCopyright
 
-     {
 
-         get => _getCopyright;
 
-         set => this.RaiseAndSetIfChanged(ref _getCopyright, value);
 
-     }
 
-     private string? _getTitle;
 
-     public string? GetTitle
 
-     {
 
-         get => _getTitle;
 
-         set => this.RaiseAndSetIfChanged(ref _getTitle, value);
 
-     }
 
-     private string? _getSubject;
 
-     public string? GetSubject
 
-     {
 
-         get => _getSubject;
 
-         set => this.RaiseAndSetIfChanged(ref _getSubject, value);
 
-     }
 
-     private string? _getSoftware;
 
-     public string? GetSoftware
 
-     {
 
-         get => _getSoftware;
 
-         set => this.RaiseAndSetIfChanged(ref _getSoftware, value);
 
-     }
 
-     private string? _getResolutionUnit;
 
-     public string? GetResolutionUnit
 
-     {
 
-         get => _getResolutionUnit;
 
-         set => this.RaiseAndSetIfChanged(ref _getResolutionUnit, value);
 
-     }
 
-     private string? _getColorRepresentation;
 
-     public string? GetColorRepresentation
 
-     {
 
-         get => _getColorRepresentation;
 
-         set => this.RaiseAndSetIfChanged(ref _getColorRepresentation, value);
 
-     }
 
-     private string? _getCompression;
 
-     public string? GetCompression
 
-     {
 
-         get => _getCompression;
 
-         set => this.RaiseAndSetIfChanged(ref _getCompression, value);
 
-     }
 
-     private string? _getCompressedBitsPixel;
 
-     public string? GetCompressedBitsPixel
 
-     {
 
-         get => _getCompressedBitsPixel;
 
-         set => this.RaiseAndSetIfChanged(ref _getCompressedBitsPixel, value);
 
-     }
 
-     private string? _getCameraMaker;
 
-     public string? GetCameraMaker
 
-     {
 
-         get => _getCameraMaker;
 
-         set => this.RaiseAndSetIfChanged(ref _getCameraMaker, value);
 
-     }
 
-     private string? _getCameraModel;
 
-     public string? GetCameraModel
 
-     {
 
-         get => _getCameraModel;
 
-         set => this.RaiseAndSetIfChanged(ref _getCameraModel, value);
 
-     }
 
-     private string? _GetExposureProgram;
 
-     public string? GetExposureProgram
 
-     {
 
-         get => _GetExposureProgram;
 
-         set => this.RaiseAndSetIfChanged(ref _GetExposureProgram, value);
 
-     }
 
-     private string? _getExposureTime;
 
-     public string? GetExposureTime
 
-     {
 
-         get => _getExposureTime;
 
-         set => this.RaiseAndSetIfChanged(ref _getExposureTime, value);
 
-     }
 
-     private string? _GetExposureBias;
 
-     public string? GetExposureBias
 
-     {
 
-         get => _GetExposureBias;
 
-         set => this.RaiseAndSetIfChanged(ref _GetExposureBias, value);
 
-     }
 
-     private string? _GetFNumber;
 
-     public string? GetFNumber
 
-     {
 
-         get => _GetFNumber;
 
-         set => this.RaiseAndSetIfChanged(ref _GetFNumber, value);
 
-     }
 
-     private string? _getMaxAperture;
 
-     public string? GetMaxAperture
 
-     {
 
-         get => _getMaxAperture;
 
-         set => this.RaiseAndSetIfChanged(ref _getMaxAperture, value);
 
-     }
 
-     private string? _getDigitalZoom;
 
-     public string? GetDigitalZoom
 
-     {
 
-         get => _getDigitalZoom;
 
-         set => this.RaiseAndSetIfChanged(ref _getDigitalZoom, value);
 
-     }
 
-     private string? _getFocalLength35Mm;
 
-     public string? GetFocalLength35Mm
 
-     {
 
-         get => _getFocalLength35Mm;
 
-         set => this.RaiseAndSetIfChanged(ref _getFocalLength35Mm, value);
 
-     }
 
-     private string? _getFocalLength;
 
-     public string? GetFocalLength
 
-     {
 
-         get => _getFocalLength;
 
-         set => this.RaiseAndSetIfChanged(ref _getFocalLength, value);
 
-     }
 
-     private string? _getISOSpeed;
 
-     public string? GetISOSpeed
 
-     {
 
-         get => _getISOSpeed;
 
-         set => this.RaiseAndSetIfChanged(ref _getISOSpeed, value);
 
-     }
 
-     private string? _getMeteringMode;
 
-     public string? GetMeteringMode
 
-     {
 
-         get => _getMeteringMode;
 
-         set => this.RaiseAndSetIfChanged(ref _getMeteringMode, value);
 
-     }
 
-     private string? _getContrast;
 
-     public string? GetContrast
 
-     {
 
-         get => _getContrast;
 
-         set => this.RaiseAndSetIfChanged(ref _getContrast, value);
 
-     }
 
-     private string? _getSaturation;
 
-     public string? GetSaturation
 
-     {
 
-         get => _getSaturation;
 
-         set => this.RaiseAndSetIfChanged(ref _getSaturation, value);
 
-     }
 
-     private string? _getSharpness;
 
-     public string? GetSharpness
 
-     {
 
-         get => _getSharpness;
 
-         set => this.RaiseAndSetIfChanged(ref _getSharpness, value);
 
-     }
 
-     private string? _getWhiteBalance;
 
-     public string? GetWhiteBalance
 
-     {
 
-         get => _getWhiteBalance;
 
-         set => this.RaiseAndSetIfChanged(ref _getWhiteBalance, value);
 
-     }
 
-     private string? _getFlashMode;
 
-     public string? GetFlashMode
 
-     {
 
-         get => _getFlashMode;
 
-         set => this.RaiseAndSetIfChanged(ref _getFlashMode, value);
 
-     }
 
-     private string? _getFlashEnergy;
 
-     public string? GetFlashEnergy
 
-     {
 
-         get => _getFlashEnergy;
 
-         set => this.RaiseAndSetIfChanged(ref _getFlashEnergy, value);
 
-     }
 
-     private string? _getLightSource;
 
-     public string? GetLightSource
 
-     {
 
-         get => _getLightSource;
 
-         set => this.RaiseAndSetIfChanged(ref _getLightSource, value);
 
-     }
 
-     private string? _getBrightness;
 
-     public string? GetBrightness
 
-     {
 
-         get => _getBrightness;
 
-         set => this.RaiseAndSetIfChanged(ref _getBrightness, value);
 
-     }
 
-     private string? _getPhotometricInterpretation;
 
-     public string? GetPhotometricInterpretation
 
-     {
 
-         get => _getPhotometricInterpretation;
 
-         set => this.RaiseAndSetIfChanged(ref _getPhotometricInterpretation, value);
 
-     }
 
-     private string? _getOrientation;
 
-     public string? GetOrientation
 
-     {
 
-         get => _getOrientation;
 
-         set => this.RaiseAndSetIfChanged(ref _getOrientation, value);
 
-     }
 
-     private string? _getExifVersion;
 
-     public string? GetExifVersion
 
-     {
 
-         get => _getExifVersion;
 
-         set => this.RaiseAndSetIfChanged(ref _getExifVersion, value);
 
-     }
 
-     private string? _GetLensModel;
 
-     public string? GetLensModel
 
-     {
 
-         get => _GetLensModel;
 
-         set => this.RaiseAndSetIfChanged(ref _GetLensModel, value);
 
-     }
 
-     private string? _getLensMaker;
 
-     public string? GetLensMaker
 
-     {
 
-         get => _getLensMaker;
 
-         set => this.RaiseAndSetIfChanged(ref _getLensMaker, value);
 
-     }
 
-     #endregion strings
 
-     #region Window Properties
 
-     private string? _title = "Loading...";
 
-     public string? Title
 
-     {
 
-         get => _title;
 
-         set => this.RaiseAndSetIfChanged(ref _title, value);
 
-     }
 
-     private string? _titleTooltip = "Loading...";
 
-     public string? TitleTooltip
 
-     {
 
-         get => _titleTooltip;
 
-         set => this.RaiseAndSetIfChanged(ref _titleTooltip, value);
 
-     }
 
-     private string? _windowTitle = "PicView";
 
-     public string? WindowTitle
 
-     {
 
-         get => _windowTitle;
 
-         set => this.RaiseAndSetIfChanged(ref _windowTitle, value);
 
-     }
 
-     private SizeToContent _sizeToContent;
 
-     public SizeToContent SizeToContent
 
-     {
 
-         get => _sizeToContent;
 
-         set => this.RaiseAndSetIfChanged(ref _sizeToContent, value);
 
-     }
 
-     private bool _canResize;
 
-     public bool CanResize
 
-     {
 
-         get => _canResize;
 
-         set => this.RaiseAndSetIfChanged(ref _canResize, value);
 
-     }
 
-     private bool _isRotationAnimationEnabled;
 
-     public bool IsRotationAnimationEnabled
 
-     {
 
-         get => _isRotationAnimationEnabled;
 
-         set => this.RaiseAndSetIfChanged(ref _isRotationAnimationEnabled, value);
 
-     }
 
-     #endregion Window Properties
 
-     #region Size
 
-     private double _titleMaxWidth;
 
-     public double TitleMaxWidth
 
-     {
 
-         get => _titleMaxWidth;
 
-         set => this.RaiseAndSetIfChanged(ref _titleMaxWidth, value);
 
-     }
 
-     
 
-     #endregion Size
 
-     #region Zoom
 
-     private double _rotationAngle;
 
-     public double RotationAngle
 
-     {
 
-         get => _rotationAngle;
 
-         set => this.RaiseAndSetIfChanged(ref _rotationAngle, value);
 
-     }
 
-     private double _zoomValue;
 
-     public double ZoomValue
 
-     {
 
-         get => _zoomValue;
 
-         set => this.RaiseAndSetIfChanged(ref _zoomValue, value);
 
-     }
 
-     private ScrollBarVisibility _toggleScrollBarVisibility;
 
-     public ScrollBarVisibility ToggleScrollBarVisibility
 
-     {
 
-         get => _toggleScrollBarVisibility;
 
-         set => this.RaiseAndSetIfChanged(ref _toggleScrollBarVisibility, value);
 
-     }
 
-     #endregion Zoom
 
-     #region Menus
 
-     private bool _isFileMenuVisible;
 
-     public bool IsFileMenuVisible
 
-     {
 
-         get => _isFileMenuVisible;
 
-         set => this.RaiseAndSetIfChanged(ref _isFileMenuVisible, value);
 
-     }
 
-     private bool _isImageMenuVisible;
 
-     public bool IsImageMenuVisible
 
-     {
 
-         get => _isImageMenuVisible;
 
-         set => this.RaiseAndSetIfChanged(ref _isImageMenuVisible, value);
 
-     }
 
-     private bool _isSettingsMenuVisible;
 
-     public bool IsSettingsMenuVisible
 
-     {
 
-         get => _isSettingsMenuVisible;
 
-         set => this.RaiseAndSetIfChanged(ref _isSettingsMenuVisible, value);
 
-     }
 
-     private bool _isToolsMenuVisible;
 
-     public bool IsToolsMenuVisible
 
-     {
 
-         get => _isToolsMenuVisible;
 
-         set => this.RaiseAndSetIfChanged(ref _isToolsMenuVisible, value);
 
-     }
 
-     #endregion Menus
 
-     #endregion Fields
 
-     #region Services
 
-     public ImageIterator? ImageIterator;
 
-     #endregion Services
 
-     #region Methods
 
-     #region Sorting Order
 
-     private FileListHelper.SortFilesBy _sortOrder;
 
-     public FileListHelper.SortFilesBy SortOrder
 
-     {
 
-         get => _sortOrder;
 
-         set => this.RaiseAndSetIfChanged(ref _sortOrder, value);
 
-     }
 
-     private bool _isAscending = SettingsHelper.Settings.Sorting.Ascending;
 
-     public bool IsAscending
 
-     {
 
-         get => _isAscending;
 
-         set => this.RaiseAndSetIfChanged(ref _isAscending, value);
 
-     }
 
-     #endregion Sorting Order
 
-     private async Task ResizeImageByPercentage(int percentage)
 
-     {
 
-         SetTitleHelper.SetLoadingTitle(this);
 
-         var success = await ConversionHelper.ResizeImageByPercentage(FileInfo, percentage);
 
-         if (success)
 
-         {
 
-             ImageIterator?.RemoveCurrentItemFromPreLoader();
 
-             await ImageIterator?.IterateToIndex(ImageIterator.CurrentIndex);
 
-         }
 
-         else
 
-         {
 
-             SetTitleHelper.SetTitle(this);
 
-         }
 
-     }
 
-     private async Task ConvertFileExtension(int index)
 
-     {
 
-         if (FileInfo is null)
 
-         {
 
-             return;
 
-         }
 
-         if (ImageIterator is not null)
 
-         {
 
-             ImageIterator.IsRenamingInProgress = true;
 
-         }
 
-         var newPath = await ConversionHelper.ConvertTask(FileInfo, index);
 
-         if (!string.IsNullOrWhiteSpace(newPath))
 
-         {
 
-             await NavigationHelper.LoadPicFromStringAsync(newPath, this);
 
-         }
 
-         if (ImageIterator is not null)
 
-         {
 
-             ImageIterator.IsRenamingInProgress = false;
 
-         }
 
-     }
 
-     
 
-     private async Task CopyFileTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await ClipboardHelper.CopyFileToClipboard(path, this);
 
-     }
 
-     
 
-     private async Task CopyFilePathTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await ClipboardHelper.CopyTextToClipboard(path);
 
-     }
 
-     
 
-     private async Task CopyBase64Task(string path)
 
-     {
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await ClipboardHelper.CopyBase64ToClipboard(path, this);
 
-     }
 
-     
 
-     private async Task CutFileTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await ClipboardHelper.CutFile(path, this);
 
-     }
 
-     
 
-     private async Task DeleteFileTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             FileDeletionHelper.DeleteFileWithErrorMsg(path, recycle: false);
 
-         });
 
-     }
 
-     
 
-     private async Task RecycleFileTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             FileDeletionHelper.DeleteFileWithErrorMsg(path, recycle: true);
 
-         });
 
-     }
 
-     
 
-     private async Task DuplicateFileTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (Path.GetFileName(path) == FileInfo.FullName)
 
-         {
 
-             await FunctionsHelper.DuplicateFile();
 
-         }
 
-         else
 
-         {
 
-             await Task.Run(() =>
 
-             {
 
-                 FileHelper.DuplicateAndReturnFileName(path);
 
-             });
 
-         }
 
-     }
 
-     
 
-     private async Task ShowFilePropertiesTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             PlatformService.ShowFileProperties(path);
 
-         });
 
-     }
 
-     private async Task PrintTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             PlatformService?.Print(path);
 
-         });
 
-     }
 
-     
 
-     private async Task OpenWithTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             PlatformService?.OpenWith(path);
 
-         });
 
-     }
 
-     
 
-     private async Task LocateOnDiskTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             PlatformService?.LocateOnDisk(path);
 
-         });
 
-     }
 
-     
 
-     private async Task SetAsWallpaperTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             PlatformService?.SetAsWallpaper(path, 4);
 
-         });
 
-     }
 
-     
 
-     private async Task SetAsLockScreenTask(string path)
 
-     {
 
-         if (string.IsNullOrWhiteSpace(path))
 
-         {
 
-             return;
 
-         }
 
-         if (PlatformService is null)
 
-         {
 
-             return;
 
-         }
 
-         await Task.Run(() =>
 
-         {
 
-             PlatformService?.SetAsLockScreen(path);
 
-         });
 
-     }
 
-     public async Task GalleryItemStretchTask(string value)
 
-     {
 
-         if (value.Equals("Square", StringComparison.OrdinalIgnoreCase))
 
-         {
 
-             if (GalleryFunctions.IsFullGalleryOpen)
 
-             {
 
-                 await GalleryStretchMode.ChangeFullGalleryStretchSquare(this);
 
-             }
 
-             else
 
-             {
 
-                 await GalleryStretchMode.ChangeBottomGalleryStretchSquare(this);
 
-             }
 
-             return;
 
-         }
 
-         
 
-         if (value.Equals("FillSquare", StringComparison.OrdinalIgnoreCase))
 
-         {
 
-             if (GalleryFunctions.IsFullGalleryOpen)
 
-             {
 
-                 await GalleryStretchMode.ChangeFullGalleryStretchSquareFill(this);
 
-             }
 
-             else
 
-             {
 
-                 await GalleryStretchMode.ChangeBottomGalleryStretchSquareFill(this);
 
-             }
 
-             return;
 
-         }
 
-         if (Enum.TryParse<Stretch>(value, out var stretch))
 
-         {
 
-             if (GalleryFunctions.IsFullGalleryOpen)
 
-             {
 
-                 await GalleryStretchMode.ChangeFullGalleryItemStretch(this, stretch);
 
-             }
 
-             else
 
-             {
 
-                 await GalleryStretchMode.ChangeBottomGalleryItemStretch(this, stretch);
 
-             }
 
-         }
 
-     }
 
-     public async Task StartSlideShowTask(int milliseconds)
 
-     {
 
-         if (milliseconds <= 0)
 
-         {
 
-             await Avalonia.Navigation.Slideshow.StartSlideshow(this);
 
-         }
 
-         else
 
-         {
 
-             await Avalonia.Navigation.Slideshow.StartSlideshow(this, milliseconds);
 
-         }
 
-     }
 
-     #endregion Methods
 
-     public MainViewModel(IPlatformSpecificService? platformSpecificService)
 
-     {
 
-         FunctionsHelper.Vm = this;
 
-         PlatformService = platformSpecificService;
 
-         #region Window commands
 
-         ExitCommand = ReactiveCommand.CreateFromTask(WindowHelper.Close);
 
-         MinimizeCommand = ReactiveCommand.CreateFromTask(WindowHelper.Minimize);
 
-         MaximizeCommand = ReactiveCommand.CreateFromTask(WindowHelper.MaximizeRestore);
 
-         ToggleFullscreenCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Fullscreen);
 
-         NewWindowCommand = ReactiveCommand.Create(ProcessHelper.StartNewProcess);
 
-         ShowExifWindowCommand = ReactiveCommand.Create(platformSpecificService.ShowExifWindow);
 
-         ShowSettingsWindowCommand = ReactiveCommand.Create(platformSpecificService.ShowSettingsWindow);
 
-         ShowKeybindingsWindowCommand = ReactiveCommand.Create(platformSpecificService.ShowKeybindingsWindow);
 
-         ShowAboutWindowCommand = ReactiveCommand.Create(platformSpecificService.ShowAboutWindow);
 
-         #endregion Window commands
 
-         #region Navigation Commands
 
-         NextCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Next);
 
-         NextButtonCommand = ReactiveCommand.CreateFromTask(async () =>
 
-         {
 
-            await NavigationHelper.NavigateAndPositionCursor(next:true, arrow: false, vm: this);
 
-         });
 
-         
 
-         NextArrowButtonCommand = ReactiveCommand.CreateFromTask(async () =>
 
-         {
 
-             await NavigationHelper.NavigateAndPositionCursor(next:true, arrow: true, vm: this);
 
-         });
 
-         
 
-         NextFolderCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.NextFolder);
 
-         PreviousCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Prev);
 
-         PreviousButtonCommand = ReactiveCommand.CreateFromTask(async () =>
 
-         {
 
-             await NavigationHelper.NavigateAndPositionCursor(next:false, arrow: false, vm: this);
 
-         });
 
-         
 
-         PreviousArrowButtonCommand = ReactiveCommand.CreateFromTask(async () =>
 
-         {
 
-             await NavigationHelper.NavigateAndPositionCursor(next:false, arrow: true, vm: this);
 
-         });
 
-         
 
-         PreviousFolderCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.PrevFolder);
 
-         FirstCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.First);
 
-         LastCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Last);
 
-         ReloadCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Reload);
 
-         #endregion Navigation Commands
 
-         #region Sort Commands
 
-         SortFilesByNameCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesByName);
 
-         SortFilesByCreationTimeCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesByCreationTime);
 
-         SortFilesByLastAccessTimeCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesByLastAccessTime);
 
-         SortFilesBySizeCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesBySize);
 
-         SortFilesByExtensionCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesByExtension);
 
-         SortFilesRandomlyCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesRandomly);
 
-         SortFilesAscendingCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesAscending);
 
-         SortFilesDescendingCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SortFilesDescending);
 
-         #endregion Sort Commands
 
-         #region Menus
 
-         CloseMenuCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.CloseMenus);
 
-         ToggleFileMenuCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleFileMenu);
 
-         ToggleImageMenuCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleImageMenu);
 
-         ToggleSettingsMenuCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleSettingsMenu);
 
-         ToggleToolsMenuCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleToolsMenu);
 
-         #endregion Menus
 
-         #region Image commands
 
-         RotateLeftCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.RotateLeft);
 
-         RotateRightCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.RotateRight);
 
-         FlipCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Flip);
 
-         StretchCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Stretch);
 
-         CropCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Crop);
 
-         ToggleScrollCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleScroll);
 
-         OptimizeImageCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.OptimizeImage);
 
-         
 
-         ChangeBackgroundCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ChangeBackground);
 
-         
 
-         ShowSideBySideCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SideBySide);
 
-         #endregion Image commands
 
-         #region File commands
 
-         OpenFileCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Open, Observable.Return(true));
 
-         OpenLastFileCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.OpenLastFile);
 
-         SaveFileCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Save);
 
-         CopyFileCommand = ReactiveCommand.CreateFromTask<string>(CopyFileTask);
 
-         CopyFilePathCommand = ReactiveCommand.CreateFromTask<string>(CopyFilePathTask);
 
-         
 
-         FilePropertiesCommand = ReactiveCommand.CreateFromTask<string>(ShowFilePropertiesTask);
 
-         CopyImageCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.CopyImage);
 
-         
 
-         CopyBase64Command = ReactiveCommand.CreateFromTask<string>(CopyBase64Task);
 
-         CutCommand = ReactiveCommand.CreateFromTask<string>(CutFileTask);
 
-         PasteCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Paste);
 
-         OpenWithCommand = ReactiveCommand.CreateFromTask<string>(OpenWithTask);
 
-         RenameCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.Rename);
 
-         ResizeCommand = ReactiveCommand.CreateFromTask<int>(ResizeImageByPercentage);
 
-         ConvertCommand = ReactiveCommand.CreateFromTask<int>(ConvertFileExtension);
 
-         DuplicateFileCommand = ReactiveCommand.CreateFromTask<string>(DuplicateFileTask);
 
-         PrintCommand = ReactiveCommand.CreateFromTask<string>(PrintTask);    
 
-         DeleteFileCommand = ReactiveCommand.CreateFromTask<string>(DeleteFileTask);
 
-         RecycleFileCommand = ReactiveCommand.CreateFromTask<string>(RecycleFileTask);
 
-         LocateOnDiskCommand = ReactiveCommand.CreateFromTask<string>(LocateOnDiskTask);
 
-         
 
-         SetAsWallpaperCommand = ReactiveCommand.CreateFromTask<string>(SetAsWallpaperTask);
 
-         SetAsLockScreenCommand = ReactiveCommand.CreateFromTask<string>(SetAsLockScreenTask);
 
-         #endregion File commands
 
-         #region EXIF commands
 
-         SetExifRating0Command = ReactiveCommand.CreateFromTask(FunctionsHelper.Set0Star);
 
-         SetExifRating1Command = ReactiveCommand.CreateFromTask(FunctionsHelper.Set1Star);
 
-         SetExifRating2Command = ReactiveCommand.CreateFromTask(FunctionsHelper.Set2Star);
 
-         SetExifRating3Command = ReactiveCommand.CreateFromTask(FunctionsHelper.Set3Star);
 
-         SetExifRating4Command = ReactiveCommand.CreateFromTask(FunctionsHelper.Set4Star);
 
-         SetExifRating5Command = ReactiveCommand.CreateFromTask(FunctionsHelper.Set5Star);
 
-         OpenGoogleLinkCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.OpenGoogleMaps);
 
-         OpenBingLinkCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.OpenBingMaps);
 
-         #endregion EXIF commands
 
-         #region Gallery Commands
 
-         ToggleGalleryCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleGallery);
 
-         ToggleBottomGalleryCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.OpenCloseBottomGallery);
 
-         
 
-         CloseGalleryCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.CloseGallery);
 
-         
 
-         GalleryItemStretchCommand = ReactiveCommand.CreateFromTask<string>(GalleryItemStretchTask);
 
-         #endregion Gallery Commands
 
-         #region UI Commands
 
-         ToggleUICommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleInterface);
 
-         ToggleBottomNavBarCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleBottomToolbar);
 
-         
 
-         ToggleBottomGalleryShownInHiddenUICommand = ReactiveCommand.CreateFromTask(async() =>
 
-         {
 
-             await HideInterfaceLogic.ToggleBottomGalleryShownInHiddenUI(this);
 
-         });
 
-         ChangeCtrlZoomCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ChangeCtrlZoom);
 
-         
 
-         ColorPickerCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ColorPicker);
 
-         
 
-         SlideshowCommand = ReactiveCommand.CreateFromTask<int>(StartSlideShowTask);
 
-         
 
-         ToggleTaskbarProgressCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleTaskbarProgress);
 
-         #endregion UI Commands
 
-         #region Settings commands
 
-         ChangeAutoFitCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.AutoFitWindow);
 
-         ChangeTopMostCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.SetTopMost);
 
-         ToggleSubdirectoriesCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleSubdirectories);
 
-         ToggleLoopingCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ToggleLooping);
 
-         
 
-         ResetSettingsCommand = ReactiveCommand.CreateFromTask(FunctionsHelper.ResetSettings);
 
-         #endregion Settings commands
 
-     }
 
-     public MainViewModel()
 
-     {
 
-         // Only use for unit test
 
-     }
 
- }
 
 
  |