[Settings] Complete the settings deeplink (#40376)

<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Many settings page's deep link is not implemented, this PR complete them
and make them aligned with the settings page.

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx

<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
This commit is contained in:
Kai Tao
2025-07-04 09:41:19 +08:00
committed by GitHub
parent faebd21a2d
commit 2ff5adbdd4
4 changed files with 101 additions and 15 deletions

View File

@@ -11,26 +11,35 @@ namespace Common.UI
{ {
public enum SettingsWindow public enum SettingsWindow
{ {
Overview = 0, Dashboard = 0,
Overview,
AlwaysOnTop,
Awake, Awake,
ColorPicker, ColorPicker,
CmdNotFound,
FancyZones, FancyZones,
FileLocksmith,
Run, Run,
ImageResizer, ImageResizer,
KBM, KBM,
MouseUtils, MouseUtils,
MouseWithoutBorders,
Peek,
PowerAccent,
PowerLauncher,
PowerPreview,
PowerRename, PowerRename,
FileExplorer, FileExplorer,
ShortcutGuide, ShortcutGuide,
Hosts, Hosts,
MeasureTool, MeasureTool,
PowerOCR, PowerOCR,
Workspaces,
RegistryPreview, RegistryPreview,
CropAndLock, CropAndLock,
EnvironmentVariables, EnvironmentVariables,
Dashboard,
AdvancedPaste, AdvancedPaste,
Workspaces, NewPlus,
CmdPal, CmdPal,
ZoomIt, ZoomIt,
} }
@@ -39,14 +48,22 @@ namespace Common.UI
{ {
switch (value) switch (value)
{ {
case SettingsWindow.Dashboard:
return "Dashboard";
case SettingsWindow.Overview: case SettingsWindow.Overview:
return "Overview"; return "Overview";
case SettingsWindow.AlwaysOnTop:
return "AlwaysOnTop";
case SettingsWindow.Awake: case SettingsWindow.Awake:
return "Awake"; return "Awake";
case SettingsWindow.ColorPicker: case SettingsWindow.ColorPicker:
return "ColorPicker"; return "ColorPicker";
case SettingsWindow.CmdNotFound:
return "CmdNotFound";
case SettingsWindow.FancyZones: case SettingsWindow.FancyZones:
return "FancyZones"; return "FancyZones";
case SettingsWindow.FileLocksmith:
return "FileLocksmith";
case SettingsWindow.Run: case SettingsWindow.Run:
return "Run"; return "Run";
case SettingsWindow.ImageResizer: case SettingsWindow.ImageResizer:
@@ -55,6 +72,16 @@ namespace Common.UI
return "KBM"; return "KBM";
case SettingsWindow.MouseUtils: case SettingsWindow.MouseUtils:
return "MouseUtils"; return "MouseUtils";
case SettingsWindow.MouseWithoutBorders:
return "MouseWithoutBorders";
case SettingsWindow.Peek:
return "Peek";
case SettingsWindow.PowerAccent:
return "PowerAccent";
case SettingsWindow.PowerLauncher:
return "PowerLauncher";
case SettingsWindow.PowerPreview:
return "PowerPreview";
case SettingsWindow.PowerRename: case SettingsWindow.PowerRename:
return "PowerRename"; return "PowerRename";
case SettingsWindow.FileExplorer: case SettingsWindow.FileExplorer:
@@ -67,18 +94,18 @@ namespace Common.UI
return "MeasureTool"; return "MeasureTool";
case SettingsWindow.PowerOCR: case SettingsWindow.PowerOCR:
return "PowerOcr"; return "PowerOcr";
case SettingsWindow.Workspaces:
return "Workspaces";
case SettingsWindow.RegistryPreview: case SettingsWindow.RegistryPreview:
return "RegistryPreview"; return "RegistryPreview";
case SettingsWindow.CropAndLock: case SettingsWindow.CropAndLock:
return "CropAndLock"; return "CropAndLock";
case SettingsWindow.EnvironmentVariables: case SettingsWindow.EnvironmentVariables:
return "EnvironmentVariables"; return "EnvironmentVariables";
case SettingsWindow.Dashboard:
return "Dashboard";
case SettingsWindow.AdvancedPaste: case SettingsWindow.AdvancedPaste:
return "AdvancedPaste"; return "AdvancedPaste";
case SettingsWindow.Workspaces: case SettingsWindow.NewPlus:
return "Workspaces"; return "NewPlus";
case SettingsWindow.CmdPal: case SettingsWindow.CmdPal:
return "CmdPal"; return "CmdPal";
case SettingsWindow.ZoomIt: case SettingsWindow.ZoomIt:

View File

@@ -671,14 +671,22 @@ std::string ESettingsWindowNames_to_string(ESettingsWindowNames value)
{ {
switch (value) switch (value)
{ {
case ESettingsWindowNames::Dashboard:
return "Dashboard";
case ESettingsWindowNames::Overview: case ESettingsWindowNames::Overview:
return "Overview"; return "Overview";
case ESettingsWindowNames::AlwaysOnTop:
return "AlwaysOnTop";
case ESettingsWindowNames::Awake: case ESettingsWindowNames::Awake:
return "Awake"; return "Awake";
case ESettingsWindowNames::ColorPicker: case ESettingsWindowNames::ColorPicker:
return "ColorPicker"; return "ColorPicker";
case ESettingsWindowNames::CmdNotFound:
return "CmdNotFound";
case ESettingsWindowNames::FancyZones: case ESettingsWindowNames::FancyZones:
return "FancyZones"; return "FancyZones";
case ESettingsWindowNames::FileLocksmith:
return "FileLocksmith";
case ESettingsWindowNames::Run: case ESettingsWindowNames::Run:
return "Run"; return "Run";
case ESettingsWindowNames::ImageResizer: case ESettingsWindowNames::ImageResizer:
@@ -687,6 +695,16 @@ std::string ESettingsWindowNames_to_string(ESettingsWindowNames value)
return "KBM"; return "KBM";
case ESettingsWindowNames::MouseUtils: case ESettingsWindowNames::MouseUtils:
return "MouseUtils"; return "MouseUtils";
case ESettingsWindowNames::MouseWithoutBorders:
return "MouseWithoutBorders";
case ESettingsWindowNames::Peek:
return "Peek";
case ESettingsWindowNames::PowerAccent:
return "PowerAccent";
case ESettingsWindowNames::PowerLauncher:
return "PowerLauncher";
case ESettingsWindowNames::PowerPreview:
return "PowerPreview";
case ESettingsWindowNames::PowerRename: case ESettingsWindowNames::PowerRename:
return "PowerRename"; return "PowerRename";
case ESettingsWindowNames::FileExplorer: case ESettingsWindowNames::FileExplorer:
@@ -707,8 +725,6 @@ std::string ESettingsWindowNames_to_string(ESettingsWindowNames value)
return "CropAndLock"; return "CropAndLock";
case ESettingsWindowNames::EnvironmentVariables: case ESettingsWindowNames::EnvironmentVariables:
return "EnvironmentVariables"; return "EnvironmentVariables";
case ESettingsWindowNames::Dashboard:
return "Dashboard";
case ESettingsWindowNames::AdvancedPaste: case ESettingsWindowNames::AdvancedPaste:
return "AdvancedPaste"; return "AdvancedPaste";
case ESettingsWindowNames::NewPlus: case ESettingsWindowNames::NewPlus:
@@ -728,10 +744,18 @@ std::string ESettingsWindowNames_to_string(ESettingsWindowNames value)
ESettingsWindowNames ESettingsWindowNames_from_string(std::string value) ESettingsWindowNames ESettingsWindowNames_from_string(std::string value)
{ {
if (value == "Overview") if (value == "Dashboard")
{
return ESettingsWindowNames::Dashboard;
}
else if (value == "Overview")
{ {
return ESettingsWindowNames::Overview; return ESettingsWindowNames::Overview;
} }
else if (value == "AlwaysOnTop")
{
return ESettingsWindowNames::AlwaysOnTop;
}
else if (value == "Awake") else if (value == "Awake")
{ {
return ESettingsWindowNames::Awake; return ESettingsWindowNames::Awake;
@@ -740,10 +764,18 @@ ESettingsWindowNames ESettingsWindowNames_from_string(std::string value)
{ {
return ESettingsWindowNames::ColorPicker; return ESettingsWindowNames::ColorPicker;
} }
else if (value == "CmdNotFound")
{
return ESettingsWindowNames::CmdNotFound;
}
else if (value == "FancyZones") else if (value == "FancyZones")
{ {
return ESettingsWindowNames::FancyZones; return ESettingsWindowNames::FancyZones;
} }
else if (value == "FileLocksmith")
{
return ESettingsWindowNames::FileLocksmith;
}
else if (value == "Run") else if (value == "Run")
{ {
return ESettingsWindowNames::Run; return ESettingsWindowNames::Run;
@@ -760,6 +792,26 @@ ESettingsWindowNames ESettingsWindowNames_from_string(std::string value)
{ {
return ESettingsWindowNames::MouseUtils; return ESettingsWindowNames::MouseUtils;
} }
else if (value == "MouseWithoutBorders")
{
return ESettingsWindowNames::MouseWithoutBorders;
}
else if (value == "Peek")
{
return ESettingsWindowNames::Peek;
}
else if (value == "PowerAccent")
{
return ESettingsWindowNames::PowerAccent;
}
else if (value == "PowerLauncher")
{
return ESettingsWindowNames::PowerLauncher;
}
else if (value == "PowerPreview")
{
return ESettingsWindowNames::PowerPreview;
}
else if (value == "PowerRename") else if (value == "PowerRename")
{ {
return ESettingsWindowNames::PowerRename; return ESettingsWindowNames::PowerRename;
@@ -800,10 +852,6 @@ ESettingsWindowNames ESettingsWindowNames_from_string(std::string value)
{ {
return ESettingsWindowNames::EnvironmentVariables; return ESettingsWindowNames::EnvironmentVariables;
} }
else if (value == "Dashboard")
{
return ESettingsWindowNames::Dashboard;
}
else if (value == "AdvancedPaste") else if (value == "AdvancedPaste")
{ {
return ESettingsWindowNames::AdvancedPaste; return ESettingsWindowNames::AdvancedPaste;

View File

@@ -6,13 +6,21 @@ enum class ESettingsWindowNames
{ {
Dashboard = 0, Dashboard = 0,
Overview, Overview,
AlwaysOnTop,
Awake, Awake,
ColorPicker, ColorPicker,
CmdNotFound,
FancyZones, FancyZones,
FileLocksmith,
Run, Run,
ImageResizer, ImageResizer,
KBM, KBM,
MouseUtils, MouseUtils,
MouseWithoutBorders,
Peek,
PowerAccent,
PowerLauncher,
PowerPreview,
PowerRename, PowerRename,
FileExplorer, FileExplorer,
ShortcutGuide, ShortcutGuide,

View File

@@ -436,6 +436,10 @@ namespace Microsoft.PowerToys.Settings.UI
case "KBM": return typeof(KeyboardManagerPage); case "KBM": return typeof(KeyboardManagerPage);
case "MouseUtils": return typeof(MouseUtilsPage); case "MouseUtils": return typeof(MouseUtilsPage);
case "MouseWithoutBorders": return typeof(MouseWithoutBordersPage); case "MouseWithoutBorders": return typeof(MouseWithoutBordersPage);
case "Peek": return typeof(PeekPage);
case "PowerAccent": return typeof(PowerAccentPage);
case "PowerLauncher": return typeof(PowerLauncherPage);
case "PowerPreview": return typeof(PowerPreviewPage);
case "PowerRename": return typeof(PowerRenamePage); case "PowerRename": return typeof(PowerRenamePage);
case "QuickAccent": return typeof(PowerAccentPage); case "QuickAccent": return typeof(PowerAccentPage);
case "FileExplorer": return typeof(PowerPreviewPage); case "FileExplorer": return typeof(PowerPreviewPage);
@@ -444,7 +448,6 @@ namespace Microsoft.PowerToys.Settings.UI
case "MeasureTool": return typeof(MeasureToolPage); case "MeasureTool": return typeof(MeasureToolPage);
case "Hosts": return typeof(HostsPage); case "Hosts": return typeof(HostsPage);
case "RegistryPreview": return typeof(RegistryPreviewPage); case "RegistryPreview": return typeof(RegistryPreviewPage);
case "Peek": return typeof(PeekPage);
case "CropAndLock": return typeof(CropAndLockPage); case "CropAndLock": return typeof(CropAndLockPage);
case "EnvironmentVariables": return typeof(EnvironmentVariablesPage); case "EnvironmentVariables": return typeof(EnvironmentVariablesPage);
case "NewPlus": return typeof(NewPlusPage); case "NewPlus": return typeof(NewPlusPage);