From 346c99543a768b5be97ec83c9f052a6e399ee5dd Mon Sep 17 00:00:00 2001 From: "Shawn Yuan (from Dev Box)" Date: Thu, 11 Dec 2025 18:39:57 +0800 Subject: [PATCH] code clean --- .../Services/QuickAccessLauncher.cs | 113 ++---------------- .../ViewModels/LauncherViewModel.cs | 2 +- .../QuickAccess/IQuickAccessLauncher.cs | 2 +- .../QuickAccess/QuickAccessLauncher.cs} | 33 +++-- .../ViewModels/DashboardViewModel.cs | 2 +- 5 files changed, 27 insertions(+), 125 deletions(-) rename src/settings-ui/{Settings.UI/Services/DashboardLauncher.cs => Settings.UI.Controls/QuickAccess/QuickAccessLauncher.cs} (87%) diff --git a/src/settings-ui/QuickAccess.UI/Services/QuickAccessLauncher.cs b/src/settings-ui/QuickAccess.UI/Services/QuickAccessLauncher.cs index ba6064c490..fcf88fd26f 100644 --- a/src/settings-ui/QuickAccess.UI/Services/QuickAccessLauncher.cs +++ b/src/settings-ui/QuickAccess.UI/Services/QuickAccessLauncher.cs @@ -10,118 +10,19 @@ using PowerToys.Interop; namespace Microsoft.PowerToys.QuickAccess.Services { - public class QuickAccessLauncher : IQuickAccessLauncher + public class QuickAccessLauncher : Microsoft.PowerToys.Settings.UI.Controls.QuickAccessLauncher { - private readonly IQuickAccessCoordinator _coordinator; + private readonly IQuickAccessCoordinator? _coordinator; - public QuickAccessLauncher(IQuickAccessCoordinator coordinator) + public QuickAccessLauncher(IQuickAccessCoordinator? coordinator) + : base(coordinator?.IsRunnerElevated ?? false) { _coordinator = coordinator; } - public void Launch(ModuleType moduleType) + public override bool Launch(ModuleType moduleType) { - bool moduleRun = true; - - switch (moduleType) - { - case ModuleType.ColorPicker: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShowColorPickerSharedEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.EnvironmentVariables: - { - bool launchAdmin = SettingsRepository.GetInstance(SettingsUtils.Default).SettingsConfig.Properties.LaunchAdministrator; - bool isElevated = _coordinator?.IsRunnerElevated ?? false; - string eventName = !isElevated && launchAdmin - ? Constants.ShowEnvironmentVariablesAdminSharedEvent() - : Constants.ShowEnvironmentVariablesSharedEvent(); - - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, eventName)) - { - eventHandle.Set(); - } - } - - break; - case ModuleType.FancyZones: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.FZEToggleEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.Hosts: - { - bool launchAdmin = SettingsRepository.GetInstance(SettingsUtils.Default).SettingsConfig.Properties.LaunchAdministrator; - bool isElevated = _coordinator?.IsRunnerElevated ?? false; - string eventName = !isElevated && launchAdmin - ? Constants.ShowHostsAdminSharedEvent() - : Constants.ShowHostsSharedEvent(); - - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, eventName)) - { - eventHandle.Set(); - } - } - - break; - case ModuleType.PowerLauncher: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.PowerLauncherSharedEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.PowerOCR: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShowPowerOCRSharedEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.RegistryPreview: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.RegistryPreviewTriggerEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.MeasureTool: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.MeasureToolTriggerEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.ShortcutGuide: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShortcutGuideTriggerEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.CmdPal: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShowCmdPalEvent())) - { - eventHandle.Set(); - } - - break; - case ModuleType.Workspaces: - using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.WorkspacesLaunchEditorEvent())) - { - eventHandle.Set(); - } - - break; - default: - moduleRun = false; - break; - } + bool moduleRun = base.Launch(moduleType); if (moduleRun) { @@ -129,6 +30,8 @@ namespace Microsoft.PowerToys.QuickAccess.Services } _coordinator?.HideFlyout(); + + return moduleRun; } } } diff --git a/src/settings-ui/QuickAccess.UI/ViewModels/LauncherViewModel.cs b/src/settings-ui/QuickAccess.UI/ViewModels/LauncherViewModel.cs index f8a18132cc..afc6522332 100644 --- a/src/settings-ui/QuickAccess.UI/ViewModels/LauncherViewModel.cs +++ b/src/settings-ui/QuickAccess.UI/ViewModels/LauncherViewModel.cs @@ -38,7 +38,7 @@ public sealed class LauncherViewModel : Observable _quickAccessViewModel = new QuickAccessViewModel( _settingsRepository, - new QuickAccessLauncher(_coordinator), + new Microsoft.PowerToys.QuickAccess.Services.QuickAccessLauncher(_coordinator), moduleType => Helpers.ModuleGpoHelper.GetModuleGpoConfiguration(moduleType) == GpoRuleConfigured.Disabled, _resourceLoader); var updatingSettings = UpdatingSettings.LoadSettings() ?? new UpdatingSettings(); diff --git a/src/settings-ui/Settings.UI.Controls/QuickAccess/IQuickAccessLauncher.cs b/src/settings-ui/Settings.UI.Controls/QuickAccess/IQuickAccessLauncher.cs index 63f012b7b2..8c35889c94 100644 --- a/src/settings-ui/Settings.UI.Controls/QuickAccess/IQuickAccessLauncher.cs +++ b/src/settings-ui/Settings.UI.Controls/QuickAccess/IQuickAccessLauncher.cs @@ -8,6 +8,6 @@ namespace Microsoft.PowerToys.Settings.UI.Controls { public interface IQuickAccessLauncher { - void Launch(ModuleType moduleType); + bool Launch(ModuleType moduleType); } } diff --git a/src/settings-ui/Settings.UI/Services/DashboardLauncher.cs b/src/settings-ui/Settings.UI.Controls/QuickAccess/QuickAccessLauncher.cs similarity index 87% rename from src/settings-ui/Settings.UI/Services/DashboardLauncher.cs rename to src/settings-ui/Settings.UI.Controls/QuickAccess/QuickAccessLauncher.cs index a754e424f1..4799ff624f 100644 --- a/src/settings-ui/Settings.UI/Services/DashboardLauncher.cs +++ b/src/settings-ui/Settings.UI.Controls/QuickAccess/QuickAccessLauncher.cs @@ -4,22 +4,21 @@ using System.Threading; using ManagedCommon; -using Microsoft.PowerToys.Settings.UI.Controls; using Microsoft.PowerToys.Settings.UI.Library; using PowerToys.Interop; -namespace Microsoft.PowerToys.Settings.UI.Services +namespace Microsoft.PowerToys.Settings.UI.Controls { - public class DashboardLauncher : IQuickAccessLauncher + public class QuickAccessLauncher : IQuickAccessLauncher { private readonly bool _isElevated; - public DashboardLauncher(bool isElevated) + public QuickAccessLauncher(bool isElevated) { _isElevated = isElevated; } - public void Launch(ModuleType moduleType) + public virtual bool Launch(ModuleType moduleType) { switch (moduleType) { @@ -29,7 +28,7 @@ namespace Microsoft.PowerToys.Settings.UI.Services eventHandle.Set(); } - break; + return true; case ModuleType.EnvironmentVariables: { bool launchAdmin = SettingsRepository.GetInstance(SettingsUtils.Default).SettingsConfig.Properties.LaunchAdministrator; @@ -43,14 +42,14 @@ namespace Microsoft.PowerToys.Settings.UI.Services } } - break; + return true; case ModuleType.FancyZones: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.FZEToggleEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.Hosts: { bool launchAdmin = SettingsRepository.GetInstance(SettingsUtils.Default).SettingsConfig.Properties.LaunchAdministrator; @@ -64,58 +63,58 @@ namespace Microsoft.PowerToys.Settings.UI.Services } } - break; + return true; case ModuleType.PowerLauncher: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.PowerLauncherSharedEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.PowerOCR: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShowPowerOCRSharedEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.RegistryPreview: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.RegistryPreviewTriggerEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.MeasureTool: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.MeasureToolTriggerEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.ShortcutGuide: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShortcutGuideTriggerEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.CmdPal: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.ShowCmdPalEvent())) { eventHandle.Set(); } - break; + return true; case ModuleType.Workspaces: using (var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, Constants.WorkspacesLaunchEditorEvent())) { eventHandle.Set(); } - break; + return true; default: - break; + return false; } } } diff --git a/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs index ad46a292c4..4d529872da 100644 --- a/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs @@ -115,7 +115,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels _quickAccessViewModel = new QuickAccessViewModel( _settingsRepository, - new DashboardLauncher(App.IsElevated), + new Microsoft.PowerToys.Settings.UI.Controls.QuickAccessLauncher(App.IsElevated), moduleType => Helpers.ModuleGpoHelper.GetModuleGpoConfiguration(moduleType) == global::PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, resourceLoader);