diff --git a/src/Files.App/Data/Contracts/IAppearanceSettingsService.cs b/src/Files.App/Data/Contracts/IAppearanceSettingsService.cs index dc684c0e7226..10d7cb2a9132 100644 --- a/src/Files.App/Data/Contracts/IAppearanceSettingsService.cs +++ b/src/Files.App/Data/Contracts/IAppearanceSettingsService.cs @@ -101,7 +101,12 @@ public interface IAppearanceSettingsService : IBaseSettingsService, INotifyPrope /// Gets or sets a value whether the toolbar should be displayed. /// bool ShowToolbar { get; set; } - + + /// + /// Gets or sets a value whether the status bar should be displayed. + /// + bool ShowStatusBar { get; set; } + /// /// Gets or sets a value whether the tab actions button should be displayed. /// diff --git a/src/Files.App/Services/Settings/AppearanceSettingsService.cs b/src/Files.App/Services/Settings/AppearanceSettingsService.cs index 5d53b29eccd7..755cd73c8e2d 100644 --- a/src/Files.App/Services/Settings/AppearanceSettingsService.cs +++ b/src/Files.App/Services/Settings/AppearanceSettingsService.cs @@ -138,6 +138,13 @@ public bool ShowToolbar set => Set(value); } + /// + public bool ShowStatusBar + { + get => Get(true); + set => Set(value); + } + /// public bool ShowTabActions { diff --git a/src/Files.App/Strings/en-US/Resources.resw b/src/Files.App/Strings/en-US/Resources.resw index acef44a16ef4..2669c4b6d3d5 100644 --- a/src/Files.App/Strings/en-US/Resources.resw +++ b/src/Files.App/Strings/en-US/Resources.resw @@ -4258,4 +4258,7 @@ See more - + + Show status bar at the bottom + + \ No newline at end of file diff --git a/src/Files.App/ViewModels/MainPageViewModel.cs b/src/Files.App/ViewModels/MainPageViewModel.cs index 432f52939cab..08994cb841ca 100644 --- a/src/Files.App/ViewModels/MainPageViewModel.cs +++ b/src/Files.App/ViewModels/MainPageViewModel.cs @@ -126,6 +126,7 @@ context.PageType is not ContentPageTypes.ReleaseNotes && context.PageType is not ContentPageTypes.Settings; public bool ShowStatusBar => + AppearanceSettingsService.ShowStatusBar && context.PageType is not ContentPageTypes.Home && context.PageType is not ContentPageTypes.ReleaseNotes && context.PageType is not ContentPageTypes.Settings; @@ -178,6 +179,9 @@ public MainPageViewModel() case nameof(AppearanceSettingsService.ShowToolbar): OnPropertyChanged(nameof(ShowToolbar)); break; + case nameof(AppearanceSettingsService.ShowStatusBar): + OnPropertyChanged(nameof(ShowStatusBar)); + break; } }; diff --git a/src/Files.App/ViewModels/Settings/AppearanceViewModel.cs b/src/Files.App/ViewModels/Settings/AppearanceViewModel.cs index ef273de6af22..3f8795f1e81c 100644 --- a/src/Files.App/ViewModels/Settings/AppearanceViewModel.cs +++ b/src/Files.App/ViewModels/Settings/AppearanceViewModel.cs @@ -295,6 +295,20 @@ public bool ShowToolbar } } + public bool ShowStatusBar + { + get => UserSettingsService.AppearanceSettingsService.ShowStatusBar; + set + { + if (value != UserSettingsService.AppearanceSettingsService.ShowStatusBar) + { + UserSettingsService.AppearanceSettingsService.ShowStatusBar = value; + + OnPropertyChanged(); + } + } + } + public bool ShowTabActions { get => UserSettingsService.AppearanceSettingsService.ShowTabActions; diff --git a/src/Files.App/Views/Settings/AppearancePage.xaml b/src/Files.App/Views/Settings/AppearancePage.xaml index 64af3aa0e41a..ff9233424ff3 100644 --- a/src/Files.App/Views/Settings/AppearancePage.xaml +++ b/src/Files.App/Views/Settings/AppearancePage.xaml @@ -243,6 +243,18 @@ IsOn="{x:Bind ViewModel.ShowTabActions, Mode=TwoWay}" /> + + + + + + + + +