ModuleGpoHelper.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using global::PowerToys.GPOWrapper; 6 using ManagedCommon; 7 using Microsoft.PowerToys.Settings.UI.Library; 8 using Microsoft.PowerToys.Settings.UI.Views; 9 using Windows.UI; 10 11 namespace Microsoft.PowerToys.Settings.UI.Helpers 12 { 13 internal sealed class ModuleGpoHelper 14 { 15 public static GpoRuleConfigured GetModuleGpoConfiguration(ModuleType moduleType) 16 { 17 switch (moduleType) 18 { 19 case ModuleType.AdvancedPaste: return GPOWrapper.GetConfiguredAdvancedPasteEnabledValue(); 20 case ModuleType.AlwaysOnTop: return GPOWrapper.GetConfiguredAlwaysOnTopEnabledValue(); 21 case ModuleType.Awake: return GPOWrapper.GetConfiguredAwakeEnabledValue(); 22 case ModuleType.CmdPal: return GPOWrapper.GetConfiguredCmdPalEnabledValue(); 23 case ModuleType.ColorPicker: return GPOWrapper.GetConfiguredColorPickerEnabledValue(); 24 case ModuleType.CropAndLock: return GPOWrapper.GetConfiguredCropAndLockEnabledValue(); 25 case ModuleType.CursorWrap: return GPOWrapper.GetConfiguredCursorWrapEnabledValue(); 26 case ModuleType.EnvironmentVariables: return GPOWrapper.GetConfiguredEnvironmentVariablesEnabledValue(); 27 case ModuleType.FancyZones: return GPOWrapper.GetConfiguredFancyZonesEnabledValue(); 28 case ModuleType.FileLocksmith: return GPOWrapper.GetConfiguredFileLocksmithEnabledValue(); 29 case ModuleType.FindMyMouse: return GPOWrapper.GetConfiguredFindMyMouseEnabledValue(); 30 case ModuleType.Hosts: return GPOWrapper.GetConfiguredHostsFileEditorEnabledValue(); 31 case ModuleType.ImageResizer: return GPOWrapper.GetConfiguredImageResizerEnabledValue(); 32 case ModuleType.KeyboardManager: return GPOWrapper.GetConfiguredKeyboardManagerEnabledValue(); 33 case ModuleType.MouseHighlighter: return GPOWrapper.GetConfiguredMouseHighlighterEnabledValue(); 34 case ModuleType.MouseJump: return GPOWrapper.GetConfiguredMouseJumpEnabledValue(); 35 case ModuleType.MousePointerCrosshairs: return GPOWrapper.GetConfiguredMousePointerCrosshairsEnabledValue(); 36 case ModuleType.MouseWithoutBorders: return GPOWrapper.GetConfiguredMouseWithoutBordersEnabledValue(); 37 case ModuleType.NewPlus: return GPOWrapper.GetConfiguredNewPlusEnabledValue(); 38 case ModuleType.Peek: return GPOWrapper.GetConfiguredPeekEnabledValue(); 39 case ModuleType.PowerRename: return GPOWrapper.GetConfiguredPowerRenameEnabledValue(); 40 case ModuleType.PowerLauncher: return GPOWrapper.GetConfiguredPowerLauncherEnabledValue(); 41 case ModuleType.PowerAccent: return GPOWrapper.GetConfiguredQuickAccentEnabledValue(); 42 case ModuleType.Workspaces: return GPOWrapper.GetConfiguredWorkspacesEnabledValue(); 43 case ModuleType.RegistryPreview: return GPOWrapper.GetConfiguredRegistryPreviewEnabledValue(); 44 case ModuleType.MeasureTool: return GPOWrapper.GetConfiguredScreenRulerEnabledValue(); 45 case ModuleType.ShortcutGuide: return GPOWrapper.GetConfiguredShortcutGuideEnabledValue(); 46 case ModuleType.PowerOCR: return GPOWrapper.GetConfiguredTextExtractorEnabledValue(); 47 case ModuleType.PowerDisplay: return GPOWrapper.GetConfiguredPowerDisplayEnabledValue(); 48 case ModuleType.ZoomIt: return GPOWrapper.GetConfiguredZoomItEnabledValue(); 49 default: return GpoRuleConfigured.Unavailable; 50 } 51 } 52 53 public static System.Type GetModulePageType(ModuleType moduleType) 54 { 55 return moduleType switch 56 { 57 ModuleType.AdvancedPaste => typeof(AdvancedPastePage), 58 ModuleType.AlwaysOnTop => typeof(AlwaysOnTopPage), 59 ModuleType.Awake => typeof(AwakePage), 60 ModuleType.CmdPal => typeof(CmdPalPage), 61 ModuleType.ColorPicker => typeof(ColorPickerPage), 62 ModuleType.CropAndLock => typeof(CropAndLockPage), 63 ModuleType.CursorWrap => typeof(MouseUtilsPage), 64 ModuleType.LightSwitch => typeof(LightSwitchPage), 65 ModuleType.EnvironmentVariables => typeof(EnvironmentVariablesPage), 66 ModuleType.FancyZones => typeof(FancyZonesPage), 67 ModuleType.FileLocksmith => typeof(FileLocksmithPage), 68 ModuleType.FindMyMouse => typeof(MouseUtilsPage), 69 ModuleType.GeneralSettings => typeof(GeneralPage), 70 ModuleType.Hosts => typeof(HostsPage), 71 ModuleType.ImageResizer => typeof(ImageResizerPage), 72 ModuleType.KeyboardManager => typeof(KeyboardManagerPage), 73 ModuleType.MouseHighlighter => typeof(MouseUtilsPage), 74 ModuleType.MouseJump => typeof(MouseUtilsPage), 75 ModuleType.MousePointerCrosshairs => typeof(MouseUtilsPage), 76 ModuleType.MouseWithoutBorders => typeof(MouseWithoutBordersPage), 77 ModuleType.NewPlus => typeof(NewPlusPage), 78 ModuleType.Peek => typeof(PeekPage), 79 ModuleType.PowerRename => typeof(PowerRenamePage), 80 ModuleType.PowerLauncher => typeof(PowerLauncherPage), 81 ModuleType.PowerAccent => typeof(PowerAccentPage), 82 ModuleType.Workspaces => typeof(WorkspacesPage), 83 ModuleType.RegistryPreview => typeof(RegistryPreviewPage), 84 ModuleType.MeasureTool => typeof(MeasureToolPage), 85 ModuleType.ShortcutGuide => typeof(ShortcutGuidePage), 86 ModuleType.PowerOCR => typeof(PowerOcrPage), 87 ModuleType.PowerDisplay => typeof(PowerDisplayPage), 88 ModuleType.ZoomIt => typeof(ZoomItPage), 89 _ => typeof(DashboardPage), // never called, all values listed above 90 }; 91 } 92 } 93 }