From 6718879a1ce1c7b1cb57b3972c607e618c6b4bd8 Mon Sep 17 00:00:00 2001 From: Yair <39923744+yaira2@users.noreply.github.com> Date: Thu, 1 Feb 2024 08:03:04 -0800 Subject: [PATCH] Revert "Code Quality: Improved the way of instancing OpacityIconModel" (#14617) --- .../ContextMenuFlyoutItemViewModelBuilder.cs | 5 +++- src/Files.App/Data/Models/OpacityIconModel.cs | 20 ++++--------- .../MenuFlyout/ContextFlyoutItemHelper.cs | 25 ++++++++++++---- .../MenuFlyout/ShellContextMenuHelper.cs | 5 +++- .../UserControls/Widgets/DrivesWidget.xaml.cs | 25 ++++++++++++---- .../Widgets/FileTagsWidget.xaml.cs | 30 +++++++++++++++---- .../Widgets/QuickAccessWidget.xaml.cs | 25 ++++++++++++---- .../Widgets/RecentFilesWidget.xaml.cs | 10 +++++-- .../UserControls/SidebarViewModel.cs | 25 ++++++++++++---- 9 files changed, 126 insertions(+), 44 deletions(-) diff --git a/src/Files.App/Data/Models/ContextMenuFlyoutItemViewModelBuilder.cs b/src/Files.App/Data/Models/ContextMenuFlyoutItemViewModelBuilder.cs index 551f33288604..d2cfbff7fe7f 100644 --- a/src/Files.App/Data/Models/ContextMenuFlyoutItemViewModelBuilder.cs +++ b/src/Files.App/Data/Models/ContextMenuFlyoutItemViewModelBuilder.cs @@ -69,7 +69,10 @@ public ContextMenuFlyoutItemViewModel Build() var glyph = command.Glyph; if (!string.IsNullOrEmpty(glyph.OpacityStyle)) { - viewModel.OpacityIcon = new(glyph.OpacityStyle); + viewModel.OpacityIcon = new OpacityIconModel + { + OpacityIconStyle = glyph.OpacityStyle, + }; } else { diff --git a/src/Files.App/Data/Models/OpacityIconModel.cs b/src/Files.App/Data/Models/OpacityIconModel.cs index 373f4d8a0c20..8b5372a9ec4b 100644 --- a/src/Files.App/Data/Models/OpacityIconModel.cs +++ b/src/Files.App/Data/Models/OpacityIconModel.cs @@ -5,27 +5,19 @@ namespace Files.App.Data.Models { - /// - /// Represents a model for . - /// - public class OpacityIconModel + public struct OpacityIconModel { - public string? OpacityIconStyle { get; set; } + public string OpacityIconStyle { get; set; } - public bool IsValid - => !string.IsNullOrWhiteSpace(OpacityIconStyle); - - public OpacityIconModel(string styleName) - { - OpacityIconStyle = styleName; - } - - public OpacityIcon ToOpacityIcon() + public readonly OpacityIcon ToOpacityIcon() { return new() { Style = (Style)Application.Current.Resources[OpacityIconStyle], }; } + + public readonly bool IsValid + => !string.IsNullOrEmpty(OpacityIconStyle); } } diff --git a/src/Files.App/Helpers/MenuFlyout/ContextFlyoutItemHelper.cs b/src/Files.App/Helpers/MenuFlyout/ContextFlyoutItemHelper.cs index 422806c0ffa0..99643847b3df 100644 --- a/src/Files.App/Helpers/MenuFlyout/ContextFlyoutItemHelper.cs +++ b/src/Files.App/Helpers/MenuFlyout/ContextFlyoutItemHelper.cs @@ -143,7 +143,10 @@ public static List GetBaseItemMenuItems( new ContextMenuFlyoutItemViewModel() { Text = "SortBy".GetLocalizedResource(), - OpacityIcon = new("ColorIconSort"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconSort", + }, ShowItem = !itemsSelected, ShowInRecycleBin = true, ShowInSearchPage = true, @@ -352,7 +355,10 @@ public static List GetBaseItemMenuItems( }, new ContextMenuFlyoutItemViewModel() { - OpacityIcon = new(commands.AddItem.Glyph.OpacityStyle), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = commands.AddItem.Glyph.OpacityStyle + }, Text = commands.AddItem.Label, Items = GetNewItemItems(commandsViewModel, currentInstanceViewModel.CanCreateFileInPage), ShowItem = !itemsSelected, @@ -379,7 +385,10 @@ public static List GetBaseItemMenuItems( new ContextMenuFlyoutItemViewModel() { Text = "OpenWith".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenWith"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenWith" + }, Tag = "OpenWithOverflow", IsHidden = true, CollapseLabel = true, @@ -503,7 +512,10 @@ public static List GetBaseItemMenuItems( { Text = "Compress".GetLocalizedResource(), ShowInSearchPage = true, - OpacityIcon = new("ColorIconZip"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconZip", + }, Items = new List { new ContextMenuFlyoutItemViewModelBuilder(commands.CompressIntoArchive).Build(), @@ -516,7 +528,10 @@ public static List GetBaseItemMenuItems( { Text = "Extract".GetLocalizedResource(), ShowInSearchPage = true, - OpacityIcon = new("ColorIconZip"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconZip", + }, Items = new List { new ContextMenuFlyoutItemViewModelBuilder(commands.DecompressArchive).Build(), diff --git a/src/Files.App/Helpers/MenuFlyout/ShellContextMenuHelper.cs b/src/Files.App/Helpers/MenuFlyout/ShellContextMenuHelper.cs index 144e50ea8c1d..01c4e0371a1b 100644 --- a/src/Files.App/Helpers/MenuFlyout/ShellContextMenuHelper.cs +++ b/src/Files.App/Helpers/MenuFlyout/ShellContextMenuHelper.cs @@ -330,7 +330,10 @@ x.Tag is Win32ContextMenuItem menuItem && { await openWithItem.LoadSubMenuAction(); - openWithItem.OpacityIcon = new("ColorIconOpenWith"); + openWithItem.OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenWith", + }; var (_, openWithItems) = ItemModelListToContextFlyoutHelper.GetAppBarItemsFromModel(new List() { openWithItem }); var placeholder = itemContextMenuFlyout.SecondaryCommands.Where(x => Equals((x as AppBarButton)?.Tag, "OpenWithPlaceholder")).FirstOrDefault() as AppBarButton; if (placeholder is not null) diff --git a/src/Files.App/UserControls/Widgets/DrivesWidget.xaml.cs b/src/Files.App/UserControls/Widgets/DrivesWidget.xaml.cs index d13ca8c55e07..e9726d4d5d46 100644 --- a/src/Files.App/UserControls/Widgets/DrivesWidget.xaml.cs +++ b/src/Files.App/UserControls/Widgets/DrivesWidget.xaml.cs @@ -159,7 +159,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewTab".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewTab"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewTab", + }, Command = OpenInNewTabCommand, CommandParameter = item, ShowItem = userSettingsService.GeneralSettingsService.ShowOpenInNewTab @@ -167,7 +170,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewWindow".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewWindow"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewWindow", + }, Command = OpenInNewWindowCommand, CommandParameter = item, ShowItem = userSettingsService.GeneralSettingsService.ShowOpenInNewWindow @@ -182,7 +188,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "PinToFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconPinToFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconPinToFavorites", + }, Command = PinToFavoritesCommand, CommandParameter = item, ShowItem = !isPinned @@ -190,7 +199,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "UnpinFromFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconUnpinFromFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconUnpinFromFavorites", + }, Command = UnpinFromFavoritesCommand, CommandParameter = item, ShowItem = isPinned @@ -212,7 +224,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "Properties".GetLocalizedResource(), - OpacityIcon = new("ColorIconProperties"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconProperties", + }, Command = OpenPropertiesCommand, CommandParameter = item }, diff --git a/src/Files.App/UserControls/Widgets/FileTagsWidget.xaml.cs b/src/Files.App/UserControls/Widgets/FileTagsWidget.xaml.cs index ae04a79892c9..0042c7e961b5 100644 --- a/src/Files.App/UserControls/Widgets/FileTagsWidget.xaml.cs +++ b/src/Files.App/UserControls/Widgets/FileTagsWidget.xaml.cs @@ -155,7 +155,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenWith".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenWith"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenWith", + }, Tag = "OpenWithPlaceholder", ShowItem = !isFolder }, @@ -168,7 +171,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewTab".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewTab"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewTab", + }, Command = OpenInNewTabCommand, CommandParameter = item, ShowItem = isFolder @@ -176,7 +182,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewWindow".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewWindow"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewWindow", + }, Command = OpenInNewWindowCommand, CommandParameter = item, ShowItem = isFolder @@ -199,7 +208,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "PinToFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconPinToFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconPinToFavorites", + }, Command = PinToFavoritesCommand, CommandParameter = item, ShowItem = !isPinned && isFolder @@ -207,7 +219,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "UnpinFromFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconUnpinFromFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconUnpinFromFavorites", + }, Command = UnpinFromFavoritesCommand, CommandParameter = item, ShowItem = isPinned && isFolder @@ -215,7 +230,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "Properties".GetLocalizedResource(), - OpacityIcon = new("ColorIconProperties"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconProperties", + }, Command = OpenPropertiesCommand, CommandParameter = item, ShowItem = isFolder diff --git a/src/Files.App/UserControls/Widgets/QuickAccessWidget.xaml.cs b/src/Files.App/UserControls/Widgets/QuickAccessWidget.xaml.cs index f4032c6d2ccf..4a3ce199441d 100644 --- a/src/Files.App/UserControls/Widgets/QuickAccessWidget.xaml.cs +++ b/src/Files.App/UserControls/Widgets/QuickAccessWidget.xaml.cs @@ -149,7 +149,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewTab".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewTab"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewTab", + }, Command = OpenInNewTabCommand, CommandParameter = item, ShowItem = userSettingsService.GeneralSettingsService.ShowOpenInNewTab @@ -157,7 +160,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewWindow".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewWindow"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewWindow", + }, Command = OpenInNewWindowCommand, CommandParameter = item, ShowItem = userSettingsService.GeneralSettingsService.ShowOpenInNewWindow @@ -172,7 +178,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "PinToFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconPinToFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconPinToFavorites", + }, Command = PinToFavoritesCommand, CommandParameter = item, ShowItem = !isPinned @@ -180,7 +189,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "UnpinFromFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconUnpinFromFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconUnpinFromFavorites", + }, Command = UnpinFromFavoritesCommand, CommandParameter = item, ShowItem = isPinned @@ -188,7 +200,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "Properties".GetLocalizedResource(), - OpacityIcon = new("ColorIconProperties"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconProperties", + }, Command = OpenPropertiesCommand, CommandParameter = item }, diff --git a/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs b/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs index d10f4ee44e9c..7eebe84f9f07 100644 --- a/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs +++ b/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs @@ -158,7 +158,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "OpenWith".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenWith"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenWith", + }, Tag = "OpenWithPlaceholder", }, new ContextMenuFlyoutItemViewModel() @@ -190,7 +193,10 @@ public override List GetItemMenuItems(WidgetCard new ContextMenuFlyoutItemViewModel() { Text = "Properties".GetLocalizedResource(), - OpacityIcon = new("ColorIconProperties"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconProperties", + }, Command = OpenPropertiesCommand, CommandParameter = item }, diff --git a/src/Files.App/ViewModels/UserControls/SidebarViewModel.cs b/src/Files.App/ViewModels/UserControls/SidebarViewModel.cs index 30a253268db4..61fecf7dac2e 100644 --- a/src/Files.App/ViewModels/UserControls/SidebarViewModel.cs +++ b/src/Files.App/ViewModels/UserControls/SidebarViewModel.cs @@ -977,14 +977,20 @@ private List GetLocationItemMenuItems(INavigatio new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewTab".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewTab"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewTab", + }, Command = OpenInNewTabCommand, ShowItem = options.IsLocationItem && UserSettingsService.GeneralSettingsService.ShowOpenInNewTab }, new ContextMenuFlyoutItemViewModel() { Text = "OpenInNewWindow".GetLocalizedResource(), - OpacityIcon = new("ColorIconOpenInNewWindow"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconOpenInNewWindow", + }, Command = OpenInNewWindowCommand, ShowItem = options.IsLocationItem && UserSettingsService.GeneralSettingsService.ShowOpenInNewTab }, @@ -997,14 +1003,20 @@ private List GetLocationItemMenuItems(INavigatio new ContextMenuFlyoutItemViewModel() { Text = "PinToFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconPinToFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconPinToFavorites", + }, Command = PinItemCommand, ShowItem = isDriveItem && !isDriveItemPinned }, new ContextMenuFlyoutItemViewModel() { Text = "UnpinFromFavorites".GetLocalizedResource(), - OpacityIcon = new("ColorIconUnpinFromFavorites"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconUnpinFromFavorites", + }, Command = UnpinItemCommand, ShowItem = options.ShowUnpinItem || isDriveItemPinned }, @@ -1038,7 +1050,10 @@ private List GetLocationItemMenuItems(INavigatio new ContextMenuFlyoutItemViewModel() { Text = "Properties".GetLocalizedResource(), - OpacityIcon = new("ColorIconProperties"), + OpacityIcon = new OpacityIconModel() + { + OpacityIconStyle = "ColorIconProperties", + }, Command = OpenPropertiesCommand, CommandParameter = menu, ShowItem = options.ShowProperties