Standardizing built-in extension icon handling (#40606)

Just standardizing built-in extensions to use a `internal sealed class
Icons` for all their non-dynamic icons.

Looks like a LOT of changes, but it's icons all the way down.
This commit is contained in:
Michael Jolley
2025-07-15 14:33:25 -05:00
committed by GitHub
parent cc16b61eb7
commit b552f2ac1e
93 changed files with 371 additions and 245 deletions

View File

@@ -2,7 +2,6 @@
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using Microsoft.CmdPal.Ext.WebSearch.Helpers;
using Microsoft.CommandPalette.Extensions.Toolkit;
using BrowserInfo = Microsoft.CmdPal.Ext.WebSearch.Helpers.DefaultBrowserInfo;
@@ -11,17 +10,14 @@ namespace Microsoft.CmdPal.Ext.WebSearch.Commands;
internal sealed partial class OpenURLCommand : InvokableCommand
{
private readonly SettingsManager _settingsManager;
public string Url { get; internal set; } = string.Empty;
internal OpenURLCommand(string url, SettingsManager settingsManager)
internal OpenURLCommand(string url)
{
Url = url;
BrowserInfo.UpdateIfTimePassed();
Icon = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
Icon = Icons.WebSearch;
Name = string.Empty;
_settingsManager = settingsManager;
}
public override CommandResult Invoke()

View File

@@ -21,7 +21,7 @@ internal sealed partial class SearchWebCommand : InvokableCommand
{
Arguments = arguments;
BrowserInfo.UpdateIfTimePassed();
Icon = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
Icon = Icons.WebSearch;
Name = Properties.Resources.open_in_default_browser;
_settingsManager = settingsManager;
}

View File

@@ -23,7 +23,7 @@ internal sealed partial class FallbackExecuteSearchItem : FallbackCommandItem
Title = string.Empty;
_executeItem.Name = string.Empty;
Subtitle = string.Format(CultureInfo.CurrentCulture, PluginOpen, BrowserInfo.Name ?? BrowserInfo.MSEdgeName);
Icon = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
Icon = Icons.WebSearch;
}
public override void UpdateQuery(string query)

View File

@@ -19,13 +19,13 @@ internal sealed partial class FallbackOpenURLItem : FallbackCommandItem
private static readonly CompositeFormat PluginOpenUrlInBrowser = System.Text.CompositeFormat.Parse(Properties.Resources.plugin_open_url_in_browser);
public FallbackOpenURLItem(SettingsManager settings)
: base(new OpenURLCommand(string.Empty, settings), Properties.Resources.open_url_fallback_title)
: base(new OpenURLCommand(string.Empty), Properties.Resources.open_url_fallback_title)
{
_executeItem = (OpenURLCommand)this.Command!;
Title = string.Empty;
_executeItem.Name = string.Empty;
Subtitle = string.Empty;
Icon = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
Icon = Icons.WebSearch;
}
public override void UpdateQuery(string query)

View File

@@ -0,0 +1,12 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using Microsoft.CommandPalette.Extensions.Toolkit;
namespace Microsoft.CmdPal.Ext.WebSearch;
internal sealed class Icons
{
internal static IconInfo WebSearch { get; } = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
}

View File

@@ -20,7 +20,7 @@ public partial class WebSearchCommandsProvider : CommandProvider
{
Id = "WebSearch";
DisplayName = Resources.extension_name;
Icon = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
Icon = Icons.WebSearch;
Settings = _settingsManager.Settings;
_fallbackItem = new FallbackExecuteSearchItem(_settingsManager);

View File

@@ -20,7 +20,7 @@ public partial class WebSearchTopLevelCommandItem : CommandItem, IFallbackHandle
public WebSearchTopLevelCommandItem(SettingsManager settingsManager)
: base(new WebSearchListPage(settingsManager))
{
Icon = IconHelpers.FromRelativePath("Assets\\WebSearch.png");
Icon = Icons.WebSearch;
SetDefaultTitle();
_settingsManager = settingsManager;
}