Skip to content

Commit e6755d6

Browse files
committed
Setting
1 parent 02db1fd commit e6755d6

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

src/Files.App/Actions/Show/ToggleFilterHeaderAction.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public Task ExecuteAsync(object? parameter = null)
3131

3232
if (IsOn)
3333
ContentPageContext.ShellPage!.ShellViewModel.InvokeFocusFilterHeader();
34+
else
35+
ContentPageContext.ShellPage!.ShellViewModel.FilesAndFoldersFilter = string.Empty;
3436

3537
return Task.CompletedTask;
3638
}

src/Files.App/Views/Layouts/BaseLayoutPage.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,16 +1021,34 @@ protected virtual void Page_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
10211021
!Path.GetInvalidFileNameChars().Contains(char.ToLowerInvariant(keyChar.Value)))
10221022
{
10231023
string ch = keyChar.Value.ToString().ToLowerInvariant();
1024-
ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter += ch;
1024+
1025+
if (UserSettingsService.FoldersSettingsService.KeyboardTypingBehavior == KeyboardTypingBehavior.FilterItems)
1026+
{
1027+
// Enable filter header
1028+
if (!UserSettingsService.GeneralSettingsService.ShowFilterHeader)
1029+
UserSettingsService.GeneralSettingsService.ShowFilterHeader = true;
1030+
1031+
ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter += ch;
1032+
}
1033+
10251034
JumpString += ch;
10261035
}
10271036
else if (key == VirtualKey.Space && !string.IsNullOrEmpty(filter))
10281037
{
1029-
ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter += " ";
1038+
if (UserSettingsService.FoldersSettingsService.KeyboardTypingBehavior == KeyboardTypingBehavior.FilterItems)
1039+
{
1040+
ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter += " ";
1041+
}
10301042
}
10311043
else if (key == VirtualKey.Back && !string.IsNullOrEmpty(filter))
10321044
{
1033-
ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter = filter[..^1];
1045+
if (UserSettingsService.FoldersSettingsService.KeyboardTypingBehavior == KeyboardTypingBehavior.FilterItems)
1046+
{
1047+
ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter = filter[..^1];
1048+
1049+
if (string.IsNullOrEmpty(ParentShellPageInstance.ShellViewModel.FilesAndFoldersFilter))
1050+
UserSettingsService.GeneralSettingsService.ShowFilterHeader = false;
1051+
}
10341052
}
10351053
}
10361054

src/Files.App/Views/MainPage.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ private async Task OnPreviewKeyDownAsync(KeyRoutedEventArgs e)
217217
break;
218218

219219
// Prevent the back key from executing a command if the filter header is not empty
220-
if (e.Key is VirtualKey.Back && !string.IsNullOrEmpty(SidebarAdaptiveViewModel.PaneHolder?.ActivePaneOrColumn!.ShellViewModel.FilesAndFoldersFilter))
220+
if (e.Key is VirtualKey.Back && UserSettingsService.FoldersSettingsService.KeyboardTypingBehavior == KeyboardTypingBehavior.FilterItems && !string.IsNullOrEmpty(SidebarAdaptiveViewModel.PaneHolder?.ActivePaneOrColumn!.ShellViewModel.FilesAndFoldersFilter))
221221
break;
222222

223223
// Execute command for hotkey

0 commit comments

Comments
 (0)