diff --git a/.github/actions/spell-check/allow/code.txt b/.github/actions/spell-check/allow/code.txt index 787715190015..f8097284ff2f 100644 --- a/.github/actions/spell-check/allow/code.txt +++ b/.github/actions/spell-check/allow/code.txt @@ -86,6 +86,9 @@ howto onefuzzconfig oip onefuzzingestionpreparationtool +OTP +Yubi +Yubico # KEYS diff --git a/.github/actions/spell-check/allow/names.txt b/.github/actions/spell-check/allow/names.txt index 4941c62e13ce..b658523ad98d 100644 --- a/.github/actions/spell-check/allow/names.txt +++ b/.github/actions/spell-check/allow/names.txt @@ -193,6 +193,7 @@ capturevideosample cmdow Controlz cortana +dlnilsson fancymouse firefox gpt diff --git a/.pipelines/ESRPSigning_abstracted_utils_dll.json b/.pipelines/ESRPSigning_abstracted_utils_dll.json deleted file mode 100644 index 7655bbee5628..000000000000 --- a/.pipelines/ESRPSigning_abstracted_utils_dll.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Version": "1.0.0", - "UseMinimatch": false, - "SignBatches": [ - { - "MatchedPath": [ - "PowerToys.HostsUILib.dll", - "PowerToys.EnvironmentVariablesUILib.dll", - "PowerToys.RegistryPreviewUILib.dll" - ], - "SigningInfo": { - "Operations": [ - { - "KeyCode": "CP-230012", - "OperationSetCode": "SigntoolSign", - "Parameters": [ - { - "parameterName": "OpusName", - "parameterValue": "Microsoft" - }, - { - "parameterName": "OpusInfo", - "parameterValue": "http://www.microsoft.com" - }, - { - "parameterName": "FileDigest", - "parameterValue": "/fd \"SHA256\"" - }, - { - "parameterName": "PageHash", - "parameterValue": "/NPH" - }, - { - "parameterName": "TimeStamp", - "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256" - } - ], - "ToolName": "sign", - "ToolVersion": "1.0" - }, - { - "KeyCode": "CP-230012", - "OperationSetCode": "SigntoolVerify", - "Parameters": [], - "ToolName": "sign", - "ToolVersion": "1.0" - } - ] - } - } - ] -} diff --git a/.pipelines/v2/templates/job-build-project.yml b/.pipelines/v2/templates/job-build-project.yml index 5a3b787ede41..f55d9f71a9fc 100644 --- a/.pipelines/v2/templates/job-build-project.yml +++ b/.pipelines/v2/templates/job-build-project.yml @@ -242,103 +242,6 @@ jobs: env: SYSTEM_ACCESSTOKEN: $(System.AccessToken) - - ${{ if eq(parameters.codeSign, true) }}: - - template: steps-esrp-signing.yml - parameters: - displayName: Sign Utilities - signingIdentity: ${{ parameters.signingIdentity }} - inputs: - FolderPath: 'src/modules' - signType: batchSigning - batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_abstracted_utils_dll.json' - ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml' - - - task: VSBuild@1 - displayName: Create Hosts File Editor package - inputs: - solution: '**\HostsUILib.csproj' - vsVersion: 17.0 - msbuildArgs: >- - /p:CIBuild=true;NoBuild=true -t:pack - /bl:$(LogOutputDirectory)\build-hosts.binlog - /p:NoWarn=NU5104 - $(RestoreAdditionalProjectSourcesArg) - configuration: $(BuildConfiguration) - msbuildArchitecture: x64 - maximumCpuCount: true - ${{ if eq(parameters.enableMsBuildCaching, true) }}: - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - - - task: VSBuild@1 - displayName: Create Environment Variables Editor package - inputs: - solution: '**\EnvironmentVariablesUILib.csproj' - vsVersion: 17.0 - msbuildArgs: >- - /p:CIBuild=true;NoBuild=true -t:pack - /bl:$(LogOutputDirectory)\build-env-var-editor.binlog - /p:NoWarn=NU5104 - $(RestoreAdditionalProjectSourcesArg) - configuration: $(BuildConfiguration) - msbuildArchitecture: x64 - maximumCpuCount: true - ${{ if eq(parameters.enableMsBuildCaching, true) }}: - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - - - task: VSBuild@1 - displayName: Create Registry Preview package - inputs: - solution: '**\RegistryPreviewUILib.csproj' - vsVersion: 17.0 - msbuildArgs: >- - /p:CIBuild=true;NoBuild=true -t:pack - /bl:$(LogOutputDirectory)\build-registry-preview.binlog - /p:NoWarn=NU5104 - $(RestoreAdditionalProjectSourcesArg) - configuration: $(BuildConfiguration) - msbuildArchitecture: x64 - maximumCpuCount: true - ${{ if eq(parameters.enableMsBuildCaching, true) }}: - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - - - task: CopyFiles@2 - displayName: Stage NuGet packages - inputs: - contents: "**/bin/Release/PowerToys*.nupkg" - flattenFolders: True - targetFolder: $(JobOutputDirectory)/nupkg - - - ${{ if eq(parameters.codeSign, true) }}: - - template: steps-esrp-signing.yml - parameters: - displayName: Sign NuGet packages - signingIdentity: ${{ parameters.signingIdentity }} - inputs: - FolderPath: $(JobOutputDirectory)/nupkg - Pattern: '*.nupkg' - UseMinimatch: true - signConfigType: inlineSignParams - inlineOperation: >- - [ - { - "KeyCode": "CP-401405", - "OperationCode": "NuGetSign", - "Parameters": {}, - "ToolName": "sign", - "ToolVersion": "1.0" - }, - { - "KeyCode": "CP-401405", - "OperationCode": "NuGetVerify", - "Parameters": {}, - "ToolName": "sign", - "ToolVersion": "1.0" - } - ] - - task: VSBuild@1 displayName: Build BugReportTool inputs: diff --git a/doc/thirdPartyRunPlugins.md b/doc/thirdPartyRunPlugins.md index 7e59e3acd496..2e2e856f778f 100644 --- a/doc/thirdPartyRunPlugins.md +++ b/doc/thirdPartyRunPlugins.md @@ -62,3 +62,4 @@ Below are community created plugins that target a website or software. They are | [HackMD](https://github.com/8LWXpg/PowerToysRun-HackMD) | [8LWXpg](https://github.com/8LWXpg) | Open HackMD notes | | [SSH](https://github.com/8LWXpg/PowerToysRun-SSH) | [8LWXpg](https://github.com/8LWXpg) | Connect to ssh clients | | [Bilibili](https://github.com/Whuihuan/PowerToysRun-Bilibili) | [Whuihuan](https://github.com/Whuihuan) | Use AVID or BVID to parse and jump to Bilibili | +| [YubicoOauthOTP](https://github.com/dlnilsson/Community.PowerToys.Run.Plugin.YubicoOauthOTP) | [dlnilsson](https://github.com/dlnilsson) | Display generated codes from OATH accounts stored on the YubiKey in powerToys Run | diff --git a/src/common/SettingsAPI/FileWatcher.h b/src/common/SettingsAPI/FileWatcher.h index 073a33a0c81c..5ac2a55f0ef8 100644 --- a/src/common/SettingsAPI/FileWatcher.h +++ b/src/common/SettingsAPI/FileWatcher.h @@ -9,6 +9,9 @@ #include #include +#include +#include + class FileWatcher { std::wstring m_path; diff --git a/src/common/SettingsAPI/pch.h b/src/common/SettingsAPI/pch.h index 86f6eff28321..8644dfaaafc0 100644 --- a/src/common/SettingsAPI/pch.h +++ b/src/common/SettingsAPI/pch.h @@ -10,4 +10,3 @@ #include #include -#include diff --git a/src/common/notifications/NotificationUtil.cpp b/src/common/notifications/NotificationUtil.cpp new file mode 100644 index 000000000000..082b11a23d5e --- /dev/null +++ b/src/common/notifications/NotificationUtil.cpp @@ -0,0 +1,56 @@ +#include "pch.h" +#include "NotificationUtil.h" + +#include +#include +#include +#include + +// Non-Localizable strings +namespace NonLocalizable +{ + const wchar_t RunAsAdminInfoPage[] = L"https://aka.ms/powertoysDetectedElevatedHelp"; + const wchar_t ToastNotificationButtonUrl[] = L"powertoys://cant_drag_elevated_disable/"; +} + +namespace notifications +{ + NotificationUtil::NotificationUtil() + { + ReadSettings(); + auto settingsFileName = PTSettingsHelper::get_powertoys_general_save_file_location(); + + m_settingsFileWatcher = std::make_unique(settingsFileName, [this]() { + ReadSettings(); + }); + } + + NotificationUtil::~NotificationUtil() + { + m_settingsFileWatcher.reset(); + } + + void NotificationUtil::WarnIfElevationIsRequired(std::wstring title, std::wstring message, std::wstring button1, std::wstring button2) + { + if (m_warningsElevatedApps && !m_warningShown && !is_toast_disabled(ElevatedDontShowAgainRegistryPath, ElevatedDisableIntervalInDays)) + { + std::vector actions = { + link_button{ button1, NonLocalizable::RunAsAdminInfoPage }, + link_button{ button2, NonLocalizable::ToastNotificationButtonUrl } + }; + + show_toast_with_activations(message, + title, + {}, + std::move(actions)); + + m_warningShown = true; + } + } + + void NotificationUtil::ReadSettings() + { + auto settings = PTSettingsHelper::load_general_settings(); + m_warningsElevatedApps = settings.GetNamedBoolean(L"enable_warnings_elevated_apps", true); + } +} diff --git a/src/common/notifications/NotificationUtil.h b/src/common/notifications/NotificationUtil.h index 8fcf3d91d8c3..736eabaf0c7d 100644 --- a/src/common/notifications/NotificationUtil.h +++ b/src/common/notifications/NotificationUtil.h @@ -1,40 +1,22 @@ #pragma once -#include -#include -#include -#include - -#include "Generated Files/resource.h" +#include namespace notifications { - // Non-Localizable strings - namespace NonLocalizable + class NotificationUtil { - const wchar_t RunAsAdminInfoPage[] = L"https://aka.ms/powertoysDetectedElevatedHelp"; - const wchar_t ToastNotificationButtonUrl[] = L"powertoys://cant_drag_elevated_disable/"; - } + public: + NotificationUtil(); + ~NotificationUtil(); - inline void WarnIfElevationIsRequired(std::wstring title, std::wstring message, std::wstring button1, std::wstring button2) - { - using namespace NonLocalizable; + void WarnIfElevationIsRequired(std::wstring title, std::wstring message, std::wstring button1, std::wstring button2); - auto settings = PTSettingsHelper::load_general_settings(); - auto enableWarningsElevatedApps = settings.GetNamedBoolean(L"enable_warnings_elevated_apps", true); + private: + std::unique_ptr m_settingsFileWatcher; + bool m_warningsElevatedApps; + bool m_warningShown = false; - static bool warning_shown = false; - if (enableWarningsElevatedApps && !warning_shown && !is_toast_disabled(ElevatedDontShowAgainRegistryPath, ElevatedDisableIntervalInDays)) - { - std::vector actions = { - link_button{ button1, RunAsAdminInfoPage }, - link_button{ button2, ToastNotificationButtonUrl } - }; - show_toast_with_activations(message, - title, - {}, - std::move(actions)); - warning_shown = true; - } - } -} \ No newline at end of file + void ReadSettings(); + }; +} diff --git a/src/common/notifications/notifications.vcxproj b/src/common/notifications/notifications.vcxproj index 8c6808cf6c9e..b55d67e7b344 100644 --- a/src/common/notifications/notifications.vcxproj +++ b/src/common/notifications/notifications.vcxproj @@ -27,13 +27,14 @@ - + + Create diff --git a/src/modules/Workspaces/WorkspacesSnapshotTool/SnapshotUtils.cpp b/src/modules/Workspaces/WorkspacesSnapshotTool/SnapshotUtils.cpp index ccc860121949..79f19219b3e9 100644 --- a/src/modules/Workspaces/WorkspacesSnapshotTool/SnapshotUtils.cpp +++ b/src/modules/Workspaces/WorkspacesSnapshotTool/SnapshotUtils.cpp @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -12,6 +13,8 @@ #include #include +#include "Generated Files/resource.h" + #pragma comment(lib, "ntdll.lib") namespace SnapshotUtils @@ -74,10 +77,12 @@ namespace SnapshotUtils // Notify the user that running as admin is required to process elevated windows. if (!is_process_elevated() && IsProcessElevated(pid)) { - notifications::WarnIfElevationIsRequired(GET_RESOURCE_STRING(IDS_PROJECTS), - GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED), - GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_LEARN_MORE), - GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_DIALOG_DONT_SHOW_AGAIN)); + auto notificationUtil = std::make_unique(); + + notificationUtil->WarnIfElevationIsRequired(GET_RESOURCE_STRING(IDS_PROJECTS), + GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED), + GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_LEARN_MORE), + GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_DIALOG_DONT_SHOW_AGAIN)); } continue; diff --git a/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.cpp b/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.cpp index 491a0bdf4272..8287ee1cced8 100644 --- a/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.cpp +++ b/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.cpp @@ -9,7 +9,6 @@ #include #include -#include #include #include @@ -36,7 +35,8 @@ AlwaysOnTop::AlwaysOnTop(bool useLLKH, DWORD mainThreadId) : SettingsObserver({SettingId::FrameEnabled, SettingId::Hotkey, SettingId::ExcludeApps}), m_hinstance(reinterpret_cast(&__ImageBase)), m_useCentralizedLLKH(useLLKH), - m_mainThreadId(mainThreadId) + m_mainThreadId(mainThreadId), + m_notificationUtil(std::make_unique()) { s_instance = this; DPIAware::EnableDPIAwarenessForThisProcess(); @@ -64,6 +64,7 @@ AlwaysOnTop::AlwaysOnTop(bool useLLKH, DWORD mainThreadId) : AlwaysOnTop::~AlwaysOnTop() { m_running = false; + m_notificationUtil.reset(); if (m_hPinEvent) { @@ -509,7 +510,10 @@ void AlwaysOnTop::HandleWinHookEvent(WinHookEvent* data) noexcept { if (!is_process_elevated() && IsProcessOfWindowElevated(data->hwnd)) { - notifications::WarnIfElevationIsRequired(GET_RESOURCE_STRING(IDS_ALWAYSONTOP), GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED), GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_LEARN_MORE), GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_DIALOG_DONT_SHOW_AGAIN)); + m_notificationUtil->WarnIfElevationIsRequired(GET_RESOURCE_STRING(IDS_ALWAYSONTOP), + GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED), + GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_LEARN_MORE), + GET_RESOURCE_STRING(IDS_SYSTEM_FOREGROUND_ELEVATED_DIALOG_DONT_SHOW_AGAIN)); } RefreshBorders(); } diff --git a/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.h b/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.h index da14d508b2c1..0505c837a282 100644 --- a/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.h +++ b/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.h @@ -9,6 +9,7 @@ #include #include +#include class AlwaysOnTop : public SettingsObserver { @@ -53,6 +54,7 @@ class AlwaysOnTop : public SettingsObserver std::thread m_thread; const bool m_useCentralizedLLKH; bool m_running = true; + std::unique_ptr m_notificationUtil; LRESULT WndProc(HWND, UINT, WPARAM, LPARAM) noexcept; void HandleWinHookEvent(WinHookEvent* data) noexcept; diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp index d0839f2844d8..1956c57a97fb 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -185,6 +186,8 @@ struct FancyZones : public winrt::implements m_notificationUtil; + // If non-recoverable error occurs, trigger disabling of entire FancyZones. static std::function disableModuleCallback; @@ -266,6 +269,8 @@ FancyZones::Run() noexcept } }); + m_notificationUtil = std::make_unique(); + SyncVirtualDesktops(); // id format of applied-layouts and app-zone-history was changed in 0.60 @@ -288,6 +293,8 @@ FancyZones::Destroy() noexcept m_window = nullptr; } + m_notificationUtil.reset(); + CoUninitialize(); } @@ -302,7 +309,7 @@ FancyZones::VirtualDesktopChanged() noexcept void FancyZones::MoveSizeStart(HWND window, HMONITOR monitor) { - m_windowMouseSnapper = WindowMouseSnap::Create(window, m_workAreaConfiguration.GetAllWorkAreas()); + m_windowMouseSnapper = WindowMouseSnap::Create(window, m_workAreaConfiguration.GetAllWorkAreas(), m_notificationUtil.get()); if (m_windowMouseSnapper) { if (FancyZonesSettings::settings().spanZonesAcrossMonitors) diff --git a/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.cpp b/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.cpp index e127371347fb..eb2a431313e5 100644 --- a/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.cpp +++ b/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include WindowMouseSnap::WindowMouseSnap(HWND window, const std::unordered_map>& activeWorkAreas) : m_window(window), @@ -27,7 +27,7 @@ WindowMouseSnap::~WindowMouseSnap() ResetWindowTransparency(); } -std::unique_ptr WindowMouseSnap::Create(HWND window, const std::unordered_map>& activeWorkAreas) +std::unique_ptr WindowMouseSnap::Create(HWND window, const std::unordered_map>& activeWorkAreas, notifications::NotificationUtil* notificationUtil) { if (FancyZonesWindowUtils::IsCursorTypeIndicatingSizeEvent() || !FancyZonesWindowProcessing::IsProcessableManually(window)) { @@ -36,8 +36,15 @@ std::unique_ptr WindowMouseSnap::Create(HWND window, const std: if (!is_process_elevated() && IsProcessOfWindowElevated(window)) { - // Notifies user if unable to drag elevated window - notifications::WarnIfElevationIsRequired(GET_RESOURCE_STRING(IDS_FANCYZONES), GET_RESOURCE_STRING(IDS_CANT_DRAG_ELEVATED), GET_RESOURCE_STRING(IDS_CANT_DRAG_ELEVATED_LEARN_MORE), GET_RESOURCE_STRING(IDS_CANT_DRAG_ELEVATED_DIALOG_DONT_SHOW_AGAIN)); + if (notificationUtil != nullptr) + { + // Notifies user if unable to drag elevated window + notificationUtil->WarnIfElevationIsRequired(GET_RESOURCE_STRING(IDS_FANCYZONES), + GET_RESOURCE_STRING(IDS_CANT_DRAG_ELEVATED), + GET_RESOURCE_STRING(IDS_CANT_DRAG_ELEVATED_LEARN_MORE), + GET_RESOURCE_STRING(IDS_CANT_DRAG_ELEVATED_DIALOG_DONT_SHOW_AGAIN)); + } + return nullptr; } diff --git a/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.h b/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.h index cf8f2615ac2a..e7e5365b19d9 100644 --- a/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.h +++ b/src/modules/fancyzones/FancyZonesLib/WindowMouseSnap.h @@ -1,6 +1,7 @@ #pragma once #include +#include class WorkArea; @@ -9,7 +10,7 @@ class WindowMouseSnap WindowMouseSnap(HWND window, const std::unordered_map>& activeWorkAreas); public: - static std::unique_ptr Create(HWND window, const std::unordered_map>& activeWorkAreas); + static std::unique_ptr Create(HWND window, const std::unordered_map>& activeWorkAreas, notifications::NotificationUtil* notificationUtil); ~WindowMouseSnap(); bool MoveSizeStart(HMONITOR monitor, bool isSnapping); diff --git a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.ValueGenerator/InputParser.cs b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.ValueGenerator/InputParser.cs index e8bf4a577ad1..614627c1ff5d 100644 --- a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.ValueGenerator/InputParser.cs +++ b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.ValueGenerator/InputParser.cs @@ -146,7 +146,7 @@ public IComputeRequest ParseInput(Query query) // This is only for single chars if (content.Length > 1) { - throw new ArgumentException($"Invalid Query: {query.RawUserQuery} (To many characters.)"); + throw new ArgumentException($"Invalid Query: {query.RawUserQuery} (Too many characters.)"); } else if (content.Length == 0) { diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Panels/MouseJumpPanel.xaml b/src/settings-ui/Settings.UI/SettingsXAML/Panels/MouseJumpPanel.xaml index b92cf4d4584b..22d996efb288 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Panels/MouseJumpPanel.xaml +++ b/src/settings-ui/Settings.UI/SettingsXAML/Panels/MouseJumpPanel.xaml @@ -35,7 +35,11 @@ IsClosable="False" IsOpen="{x:Bind ViewModel.IsJumpEnabledGpoConfigured, Mode=OneWay}" IsTabStop="{x:Bind ViewModel.IsJumpEnabledGpoConfigured, Mode=OneWay}" - Severity="Informational" /> + Severity="Informational"> + + + + - \ No newline at end of file + diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPaste.xaml b/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPaste.xaml index 391a974efc90..f6308feba6bc 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPaste.xaml +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPaste.xaml @@ -56,9 +56,23 @@ IsClosable="False" IsOpen="{x:Bind ViewModel.IsEnabledGpoConfigured, Mode=OneWay}" IsTabStop="{x:Bind ViewModel.IsEnabledGpoConfigured, Mode=OneWay}" - Severity="Informational" /> + Severity="Informational"> + + + + + + + + + @@ -81,12 +95,6 @@ - - + Severity="Informational"> + + + + + + + + diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/AlwaysOnTopPage.xaml b/src/settings-ui/Settings.UI/SettingsXAML/Views/AlwaysOnTopPage.xaml index aead2cb5ebfb..66cf570af055 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/AlwaysOnTopPage.xaml +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/AlwaysOnTopPage.xaml @@ -27,7 +27,11 @@ IsClosable="False" IsOpen="{x:Bind ViewModel.IsEnabledGpoConfigured, Mode=OneWay}" IsTabStop="{x:Bind ViewModel.IsEnabledGpoConfigured, Mode=OneWay}" - Severity="Informational" /> + Severity="Informational"> + + + + + Severity="Informational"> + + + + diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/AwakePage.xaml.cs b/src/settings-ui/Settings.UI/SettingsXAML/Views/AwakePage.xaml.cs index 49861c3c0b49..3399f425ccd2 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/AwakePage.xaml.cs +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/AwakePage.xaml.cs @@ -164,7 +164,7 @@ private void UpdateEnabledState(bool recommendedState) { // Get the enabled state from GPO. ViewModel.IsEnabledGpoConfigured = true; - ViewModel.IsEnabled = enabledGpoRuleConfiguration == GpoRuleConfigured.Enabled; + ViewModel.EnabledGPOConfiguration = enabledGpoRuleConfiguration == GpoRuleConfigured.Enabled; } else { diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/CmdNotFoundPage.xaml b/src/settings-ui/Settings.UI/SettingsXAML/Views/CmdNotFoundPage.xaml index 649d30622617..5c4a09a9c47f 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/CmdNotFoundPage.xaml +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/CmdNotFoundPage.xaml @@ -21,16 +21,29 @@ + IsOpen="{x:Bind ViewModel.IsModuleGpoEnabled, Mode=OneWay}" + IsTabStop="{x:Bind ViewModel.IsModuleGpoEnabled, Mode=OneWay}" + Severity="Informational"> + + + + + + + + + @@ -45,13 +58,17 @@ AutomationProperties.AccessibilityView="Raw" Foreground="{ThemeResource SystemFillColorSuccessBrush}" Glyph="" /> - +