Skip to content

Commit 2c98606

Browse files
authored
Feature: Added an action to toggle the dot files setting (#15906)
1 parent 5aedca3 commit 2c98606

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Copyright (c) 2024 Files Community
2+
// Licensed under the MIT License. See the LICENSE.
3+
4+
namespace Files.App.Actions
5+
{
6+
internal sealed class ToggleDotFilesSettingAction : ObservableObject, IToggleAction
7+
{
8+
private readonly IFoldersSettingsService FoldersSettingsService;
9+
10+
public string Label
11+
=> "ShowDotFiles".GetLocalizedResource();
12+
13+
public string Description
14+
=> "ToggleDotFilesSettingDescription".GetLocalizedResource();
15+
16+
public bool IsOn
17+
=> FoldersSettingsService.ShowDotFiles;
18+
19+
public ToggleDotFilesSettingAction()
20+
{
21+
FoldersSettingsService = Ioc.Default.GetRequiredService<IFoldersSettingsService>();
22+
23+
FoldersSettingsService.PropertyChanged += Settings_PropertyChanged;
24+
}
25+
26+
public Task ExecuteAsync(object? parameter = null)
27+
{
28+
FoldersSettingsService.ShowDotFiles = !FoldersSettingsService.ShowDotFiles;
29+
30+
return Task.CompletedTask;
31+
}
32+
33+
private void Settings_PropertyChanged(object? sender, PropertyChangedEventArgs e)
34+
{
35+
if (e.PropertyName is nameof(IFoldersSettingsService.ShowDotFiles))
36+
OnPropertyChanged(nameof(IsOn));
37+
}
38+
}
39+
}

src/Files.App/Data/Commands/Manager/CommandCodes.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public enum CommandCodes
2020

2121
// Show
2222
ToggleShowHiddenItems,
23+
ToggleDotFilesSetting,
2324
ToggleShowFileExtensions,
2425
TogglePreviewPane,
2526
ToggleDetailsPane,

src/Files.App/Data/Commands/Manager/CommandManager.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public IRichCommand this[HotKey hotKey]
5151
public IRichCommand Redo => commands[CommandCodes.Redo];
5252
public IRichCommand Undo => commands[CommandCodes.Undo];
5353
public IRichCommand ToggleShowHiddenItems => commands[CommandCodes.ToggleShowHiddenItems];
54+
public IRichCommand ToggleDotFilesSetting => commands[CommandCodes.ToggleDotFilesSetting];
5455
public IRichCommand ToggleShowFileExtensions => commands[CommandCodes.ToggleShowFileExtensions];
5556
public IRichCommand TogglePreviewPane => commands[CommandCodes.TogglePreviewPane];
5657
public IRichCommand ToggleDetailsPane => commands[CommandCodes.ToggleDetailsPane];
@@ -237,6 +238,7 @@ public IEnumerator<IRichCommand> GetEnumerator() =>
237238
[CommandCodes.Redo] = new RedoAction(),
238239
[CommandCodes.Undo] = new UndoAction(),
239240
[CommandCodes.ToggleShowHiddenItems] = new ToggleShowHiddenItemsAction(),
241+
[CommandCodes.ToggleDotFilesSetting] = new ToggleDotFilesSettingAction(),
240242
[CommandCodes.ToggleShowFileExtensions] = new ToggleShowFileExtensionsAction(),
241243
[CommandCodes.TogglePreviewPane] = new TogglePreviewPaneAction(),
242244
[CommandCodes.ToggleDetailsPane] = new ToggleDetailsPaneAction(),

src/Files.App/Data/Commands/Manager/ICommandManager.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public interface ICommandManager : IEnumerable<IRichCommand>
2525
IRichCommand Undo { get; }
2626

2727
IRichCommand ToggleShowHiddenItems { get; }
28+
IRichCommand ToggleDotFilesSetting { get; }
2829
IRichCommand ToggleShowFileExtensions { get; }
2930
IRichCommand TogglePreviewPane { get; }
3031
IRichCommand ToggleDetailsPane { get; }

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2357,6 +2357,9 @@
23572357
<data name="ToggleShowHiddenItemsDescription" xml:space="preserve">
23582358
<value>Toggle whether to show hidden items</value>
23592359
</data>
2360+
<data name="ToggleDotFilesSettingDescription" xml:space="preserve">
2361+
<value>Toggle whether to show dot files</value>
2362+
</data>
23602363
<data name="ToggleShowFileExtensionsDescription" xml:space="preserve">
23612364
<value>Toggle whether to show file extensions</value>
23622365
</data>

0 commit comments

Comments
 (0)