Skip to content

Commit 5aea8e4

Browse files
authored
Added button to reset layout preferences in settings (#9787)
1 parent 441c122 commit 5aea8e4

File tree

3 files changed

+517
-455
lines changed

3 files changed

+517
-455
lines changed

src/Files.Uwp/Strings/en-US/Resources.resw

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2795,8 +2795,8 @@ We use App Center to track which settings are being used, find bugs, and fix cra
27952795
<data name="SetAsDefault" xml:space="preserve">
27962796
<value>Set as default</value>
27972797
</data>
2798-
<data name="DefaultFolderPreferences" xml:space="preserve">
2799-
<value>Default Folder preferences</value>
2798+
<data name="FolderPreferences" xml:space="preserve">
2799+
<value>Folder preferences</value>
28002800
</data>
28012801
<data name="DisplayDateColumn" xml:space="preserve">
28022802
<value>Display Date column</value>
@@ -2813,6 +2813,15 @@ We use App Center to track which settings are being used, find bugs, and fix cra
28132813
<data name="DisplayTypeColumn" xml:space="preserve">
28142814
<value>Display Type column</value>
28152815
</data>
2816+
<data name="Reset" xml:space="preserve">
2817+
<value>Reset</value>
2818+
</data>
2819+
<data name="ResetLayoutPreferences" xml:space="preserve">
2820+
<value>This action will reset all directories back to your default preferences.</value>
2821+
</data>
2822+
<data name="AreYouSure" xml:space="preserve">
2823+
<value>Are you sure?</value>
2824+
</data>
28162825
<data name="Lockscreen" xml:space="preserve">
28172826
<value>Lockscreen</value>
28182827
</data>

src/Files.Uwp/ViewModels/SettingsViewModels/PreferencesViewModel.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
using Windows.Storage.AccessCache;
2424
using Windows.Storage.Pickers;
2525
using Windows.System;
26+
using Windows.UI.Xaml.Controls;
2627
using static Files.Uwp.Helpers.MenuFlyoutHelper;
2728

2829
namespace Files.Uwp.ViewModels.SettingsViewModels
@@ -46,11 +47,16 @@ public class PreferencesViewModel : ObservableObject, IDisposable
4647

4748
public ICommand OpenFilesAtStartupCommand { get; }
4849

50+
public ICommand ResetLayoutPreferencesCommand { get; }
51+
public ICommand ShowResetLayoutPreferencesTipCommand { get; }
52+
4953
public PreferencesViewModel()
5054
{
5155
ChangePageCommand = new AsyncRelayCommand(ChangePage);
5256
RemovePageCommand = new RelayCommand(RemovePage);
5357
AddPageCommand = new RelayCommand<string>(async (path) => await AddPage(path));
58+
ResetLayoutPreferencesCommand = new RelayCommand(ResetLayoutPreferences);
59+
ShowResetLayoutPreferencesTipCommand = new RelayCommand(() => IsResetLayoutPreferencesTipOpen = true);
5460

5561
DefaultLanguages = App.AppSettings.DefaultLanguages;
5662
Terminals = App.TerminalController.Model.Terminals;
@@ -716,6 +722,27 @@ public bool ShowDateColumn
716722
}
717723
}
718724

725+
private bool isLayoutResetCheckmarkVisible;
726+
public bool IsLayoutResetCheckmarkVisible
727+
{
728+
get => isLayoutResetCheckmarkVisible;
729+
set => SetProperty(ref isLayoutResetCheckmarkVisible, value);
730+
}
731+
732+
private bool isResetLayoutPreferencesTipOpen;
733+
public bool IsResetLayoutPreferencesTipOpen
734+
{
735+
get => isResetLayoutPreferencesTipOpen;
736+
set => SetProperty(ref isResetLayoutPreferencesTipOpen, value);
737+
}
738+
739+
public void ResetLayoutPreferences()
740+
{
741+
FolderSettingsViewModel.DbInstance.ResetAll();
742+
IsResetLayoutPreferencesTipOpen = false;
743+
IsLayoutResetCheckmarkVisible = true;
744+
}
745+
719746
public void Dispose()
720747
{
721748
if (!disposed)

0 commit comments

Comments
 (0)