From dad239ca9730b1202bcdb7ea0bac933ca7cfb690 Mon Sep 17 00:00:00 2001 From: hishitetsu <66369541+hishitetsu@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:10:56 +0900 Subject: [PATCH] Update LayoutAction.cs --- src/Files.App/Actions/Display/LayoutAction.cs | 70 +++++++------------ 1 file changed, 26 insertions(+), 44 deletions(-) diff --git a/src/Files.App/Actions/Display/LayoutAction.cs b/src/Files.App/Actions/Display/LayoutAction.cs index 2e74a07e641f..669fffcb7e44 100644 --- a/src/Files.App/Actions/Display/LayoutAction.cs +++ b/src/Files.App/Actions/Display/LayoutAction.cs @@ -171,7 +171,6 @@ protected virtual void OnContextChanged(string propertyName) internal sealed class LayoutDecreaseSizeAction : ObservableObject, IAction { private static readonly IUserSettingsService UserSettingsService = Ioc.Default.GetRequiredService(); - private readonly IDisplayPageContext DisplayPageContext = Ioc.Default.GetRequiredService(); private readonly IContentPageContext ContentPageContext = Ioc.Default.GetRequiredService(); public string Label @@ -188,15 +187,15 @@ public HotKey MediaHotKey public bool IsExecutable => ContentPageContext.PageType is not ContentPageTypes.Home && - ((DisplayPageContext.LayoutType == LayoutTypes.Details && UserSettingsService.LayoutSettingsService.DetailsViewSize > DetailsViewSizeKind.Compact) || - (DisplayPageContext.LayoutType == LayoutTypes.List && UserSettingsService.LayoutSettingsService.ListViewSize > ListViewSizeKind.Compact) || - (DisplayPageContext.LayoutType == LayoutTypes.Grid && UserSettingsService.LayoutSettingsService.GridViewSize > GridViewSizeKind.Small) || - (DisplayPageContext.LayoutType == LayoutTypes.Columns && UserSettingsService.LayoutSettingsService.ColumnsViewSize > ColumnsViewSizeKind.Compact)); + ContentPageContext.ShellPage?.InstanceViewModel.FolderSettings.LayoutMode is FolderLayoutModes layoutMode && + ((layoutMode is FolderLayoutModes.DetailsView && UserSettingsService.LayoutSettingsService.DetailsViewSize > DetailsViewSizeKind.Compact) || + (layoutMode is FolderLayoutModes.ListView && UserSettingsService.LayoutSettingsService.ListViewSize > ListViewSizeKind.Compact) || + (layoutMode is FolderLayoutModes.GridView && UserSettingsService.LayoutSettingsService.GridViewSize > GridViewSizeKind.Small) || + (layoutMode is FolderLayoutModes.ColumnView && UserSettingsService.LayoutSettingsService.ColumnsViewSize > ColumnsViewSizeKind.Compact)); public LayoutDecreaseSizeAction() { ContentPageContext.PropertyChanged += ContentPageContext_PropertyChanged; - DisplayPageContext.PropertyChanged += DisplayPageContext_PropertyChanged; UserSettingsService.LayoutSettingsService.PropertyChanged += UserSettingsService_PropertyChanged; } @@ -210,16 +209,6 @@ private void ContentPageContext_PropertyChanged(object? sender, PropertyChangedE } } - private void DisplayPageContext_PropertyChanged(object? sender, PropertyChangedEventArgs e) - { - switch (e.PropertyName) - { - case nameof(IDisplayPageContext.LayoutType): - OnPropertyChanged(nameof(IsExecutable)); - break; - } - } - private void UserSettingsService_PropertyChanged(object? sender, PropertyChangedEventArgs e) { switch (e.PropertyName) @@ -235,26 +224,28 @@ private void UserSettingsService_PropertyChanged(object? sender, PropertyChanged public Task ExecuteAsync(object? parameter = null) { - switch (DisplayPageContext.LayoutType) + switch (ContentPageContext.ShellPage?.InstanceViewModel.FolderSettings.LayoutMode) { - case LayoutTypes.Details: + case FolderLayoutModes.DetailsView: if (UserSettingsService.LayoutSettingsService.DetailsViewSize > DetailsViewSizeKind.Compact) UserSettingsService.LayoutSettingsService.DetailsViewSize -= 1; break; - case LayoutTypes.List: + case FolderLayoutModes.ListView: if (UserSettingsService.LayoutSettingsService.ListViewSize > ListViewSizeKind.Compact) UserSettingsService.LayoutSettingsService.ListViewSize -= 1; break; - case LayoutTypes.Tiles: + case FolderLayoutModes.TilesView: break; - case LayoutTypes.Grid: + case FolderLayoutModes.GridView: if (UserSettingsService.LayoutSettingsService.GridViewSize > GridViewSizeKind.Small) UserSettingsService.LayoutSettingsService.GridViewSize -= 1; break; - case LayoutTypes.Columns: + case FolderLayoutModes.ColumnView: if (UserSettingsService.LayoutSettingsService.ColumnsViewSize > ColumnsViewSizeKind.Compact) UserSettingsService.LayoutSettingsService.ColumnsViewSize -= 1; break; + default: + break; } return Task.CompletedTask; @@ -264,7 +255,6 @@ public Task ExecuteAsync(object? parameter = null) internal sealed class LayoutIncreaseSizeAction : ObservableObject, IAction { private static readonly IUserSettingsService UserSettingsService = Ioc.Default.GetRequiredService(); - private readonly IDisplayPageContext DisplayPageContext = Ioc.Default.GetRequiredService(); private readonly IContentPageContext ContentPageContext = Ioc.Default.GetRequiredService(); public string Label @@ -281,15 +271,15 @@ public HotKey MediaHotKey public bool IsExecutable => ContentPageContext.PageType is not ContentPageTypes.Home && - ((DisplayPageContext.LayoutType == LayoutTypes.Details && UserSettingsService.LayoutSettingsService.DetailsViewSize < DetailsViewSizeKind.ExtraLarge) || - (DisplayPageContext.LayoutType == LayoutTypes.List && UserSettingsService.LayoutSettingsService.ListViewSize < ListViewSizeKind.ExtraLarge) || - (DisplayPageContext.LayoutType == LayoutTypes.Grid && UserSettingsService.LayoutSettingsService.GridViewSize < GridViewSizeKind.ExtraLarge) || - (DisplayPageContext.LayoutType == LayoutTypes.Columns && UserSettingsService.LayoutSettingsService.ColumnsViewSize < ColumnsViewSizeKind.ExtraLarge)); + ContentPageContext.ShellPage?.InstanceViewModel.FolderSettings.LayoutMode is FolderLayoutModes layoutMode && + ((layoutMode is FolderLayoutModes.DetailsView && UserSettingsService.LayoutSettingsService.DetailsViewSize < DetailsViewSizeKind.ExtraLarge) || + (layoutMode is FolderLayoutModes.ListView && UserSettingsService.LayoutSettingsService.ListViewSize < ListViewSizeKind.ExtraLarge) || + (layoutMode is FolderLayoutModes.GridView && UserSettingsService.LayoutSettingsService.GridViewSize < GridViewSizeKind.ExtraLarge) || + (layoutMode is FolderLayoutModes.ColumnView && UserSettingsService.LayoutSettingsService.ColumnsViewSize < ColumnsViewSizeKind.ExtraLarge)); public LayoutIncreaseSizeAction() { ContentPageContext.PropertyChanged += ContentPageContext_PropertyChanged; - DisplayPageContext.PropertyChanged += DisplayPageContext_PropertyChanged; UserSettingsService.LayoutSettingsService.PropertyChanged += UserSettingsService_PropertyChanged; } @@ -303,16 +293,6 @@ private void ContentPageContext_PropertyChanged(object? sender, PropertyChangedE } } - private void DisplayPageContext_PropertyChanged(object? sender, PropertyChangedEventArgs e) - { - switch (e.PropertyName) - { - case nameof(IDisplayPageContext.LayoutType): - OnPropertyChanged(nameof(IsExecutable)); - break; - } - } - private void UserSettingsService_PropertyChanged(object? sender, PropertyChangedEventArgs e) { switch (e.PropertyName) @@ -328,26 +308,28 @@ private void UserSettingsService_PropertyChanged(object? sender, PropertyChanged public Task ExecuteAsync(object? parameter = null) { - switch (DisplayPageContext.LayoutType) + switch (ContentPageContext.ShellPage?.InstanceViewModel.FolderSettings.LayoutMode) { - case LayoutTypes.Details: + case FolderLayoutModes.DetailsView: if (UserSettingsService.LayoutSettingsService.DetailsViewSize < DetailsViewSizeKind.ExtraLarge) UserSettingsService.LayoutSettingsService.DetailsViewSize += 1; break; - case LayoutTypes.List: + case FolderLayoutModes.ListView: if (UserSettingsService.LayoutSettingsService.ListViewSize < ListViewSizeKind.ExtraLarge) UserSettingsService.LayoutSettingsService.ListViewSize += 1; break; - case LayoutTypes.Tiles: + case FolderLayoutModes.TilesView: break; - case LayoutTypes.Grid: + case FolderLayoutModes.GridView: if (UserSettingsService.LayoutSettingsService.GridViewSize < GridViewSizeKind.ExtraLarge) UserSettingsService.LayoutSettingsService.GridViewSize += 1; break; - case LayoutTypes.Columns: + case FolderLayoutModes.ColumnView: if (UserSettingsService.LayoutSettingsService.ColumnsViewSize < ColumnsViewSizeKind.ExtraLarge) UserSettingsService.LayoutSettingsService.ColumnsViewSize += 1; break; + default: + break; } return Task.CompletedTask;