diff --git a/src/Files.App/Views/Shells/BaseShellPage.cs b/src/Files.App/Views/Shells/BaseShellPage.cs index 2d9925b85a2a..3c9e57ffd48d 100644 --- a/src/Files.App/Views/Shells/BaseShellPage.cs +++ b/src/Files.App/Views/Shells/BaseShellPage.cs @@ -699,8 +699,14 @@ protected void FilesystemViewModel_ItemLoadStatusChanged(object sender, ItemLoad } } - protected virtual void FolderSettings_LayoutPreferencesUpdateRequired(object sender, LayoutPreferenceEventArgs e) + private void FolderSettings_LayoutPreferencesUpdateRequired(object sender, LayoutPreferenceEventArgs e) { + if (ShellViewModel is null) + return; + + LayoutPreferencesManager.SetLayoutPreferencesForPath(ShellViewModel.WorkingDirectory, e.LayoutPreference); + if (e.IsAdaptiveLayoutUpdateRequired) + AdaptiveLayoutHelpers.ApplyAdaptativeLayout(InstanceViewModel.FolderSettings, ShellViewModel.FilesAndFolders.ToList()); } protected virtual void ViewModel_WorkingDirectoryModified(object sender, WorkingDirectoryModifiedEventArgs e) diff --git a/src/Files.App/Views/Shells/ColumnShellPage.xaml.cs b/src/Files.App/Views/Shells/ColumnShellPage.xaml.cs index b8eb990c6988..7ebd1582841f 100644 --- a/src/Files.App/Views/Shells/ColumnShellPage.xaml.cs +++ b/src/Files.App/Views/Shells/ColumnShellPage.xaml.cs @@ -61,6 +61,10 @@ protected override void ShellPage_NavigationRequested(object sender, PathNavigat protected override void OnNavigationParamsChanged() { + if (ColumnParams.NavPathParam is not null) + // This method call is required to load the sorting preferences. + InstanceViewModel.FolderSettings.GetLayoutType(ColumnParams.NavPathParam); + ItemDisplayFrame.Navigate( typeof(ColumnLayoutPage), new NavigationArguments() @@ -183,25 +187,5 @@ public override void NavigateHome() public override Task WhenIsCurrent() => Task.WhenAll(_IsCurrentInstanceTCS.Task, this.FindAscendant()?.ParentShellPageInstance?.WhenIsCurrent() ?? Task.CompletedTask); - - public void RemoveLastPageFromBackStack() - { - ItemDisplayFrame.BackStack.Remove(ItemDisplayFrame.BackStack.Last()); - } - - public void SubmitSearch(string query) - { - ShellViewModel.CancelSearch(); - InstanceViewModel.CurrentSearchQuery = query; - ItemDisplayFrame.Navigate(typeof(ColumnLayoutPage), new NavigationArguments() - { - AssociatedTabInstance = this, - IsSearchResultPage = true, - SearchPathParam = ShellViewModel.WorkingDirectory, - SearchQuery = query, - }); - - //this.FindAscendant().SetSelectedPathOrNavigate(null, typeof(ColumnViewBase), navArgs); - } } } diff --git a/src/Files.App/Views/Shells/ModernShellPage.xaml.cs b/src/Files.App/Views/Shells/ModernShellPage.xaml.cs index e9424ce2b77b..4bb32cecbb06 100644 --- a/src/Files.App/Views/Shells/ModernShellPage.xaml.cs +++ b/src/Files.App/Views/Shells/ModernShellPage.xaml.cs @@ -58,16 +58,6 @@ private void ModernShellPage_RefreshWidgetsRequested(object sender, EventArgs e) currentPage.ViewModel.RefreshWidgetList(); } - protected override void FolderSettings_LayoutPreferencesUpdateRequired(object sender, LayoutPreferenceEventArgs e) - { - if (ShellViewModel is null) - return; - - LayoutPreferencesManager.SetLayoutPreferencesForPath(ShellViewModel.WorkingDirectory, e.LayoutPreference); - if (e.IsAdaptiveLayoutUpdateRequired) - AdaptiveLayoutHelpers.ApplyAdaptativeLayout(InstanceViewModel.FolderSettings, ShellViewModel.FilesAndFolders.ToList()); - } - protected override void OnNavigatedTo(NavigationEventArgs eventArgs) { base.OnNavigatedTo(eventArgs);