mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-08 04:07:40 +02:00
[Updates] Toast notification for new updates: Add setting (#30794)
* code changes from #30606 * Update admx revision
This commit is contained in:
@@ -140,6 +140,10 @@ namespace winrt::PowerToys::GPOWrapper::implementation
|
|||||||
{
|
{
|
||||||
return static_cast<GpoRuleConfigured>(powertoys_gpo::getConfiguredPeekEnabledValue());
|
return static_cast<GpoRuleConfigured>(powertoys_gpo::getConfiguredPeekEnabledValue());
|
||||||
}
|
}
|
||||||
|
GpoRuleConfigured GPOWrapper::GetDisableNewUpdateToastValue()
|
||||||
|
{
|
||||||
|
return static_cast<GpoRuleConfigured>(powertoys_gpo::getDisableNewUpdateToastValue());
|
||||||
|
}
|
||||||
GpoRuleConfigured GPOWrapper::GetDisableAutomaticUpdateDownloadValue()
|
GpoRuleConfigured GPOWrapper::GetDisableAutomaticUpdateDownloadValue()
|
||||||
{
|
{
|
||||||
return static_cast<GpoRuleConfigured>(powertoys_gpo::getDisableAutomaticUpdateDownloadValue());
|
return static_cast<GpoRuleConfigured>(powertoys_gpo::getDisableAutomaticUpdateDownloadValue());
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ namespace winrt::PowerToys::GPOWrapper::implementation
|
|||||||
static GpoRuleConfigured GetConfiguredPastePlainEnabledValue();
|
static GpoRuleConfigured GetConfiguredPastePlainEnabledValue();
|
||||||
static GpoRuleConfigured GetConfiguredVideoConferenceMuteEnabledValue();
|
static GpoRuleConfigured GetConfiguredVideoConferenceMuteEnabledValue();
|
||||||
static GpoRuleConfigured GetConfiguredPeekEnabledValue();
|
static GpoRuleConfigured GetConfiguredPeekEnabledValue();
|
||||||
|
static GpoRuleConfigured GetDisableNewUpdateToastValue();
|
||||||
static GpoRuleConfigured GetDisableAutomaticUpdateDownloadValue();
|
static GpoRuleConfigured GetDisableAutomaticUpdateDownloadValue();
|
||||||
static GpoRuleConfigured GetDisableShowWhatsNewAfterUpdatesValue();
|
static GpoRuleConfigured GetDisableShowWhatsNewAfterUpdatesValue();
|
||||||
static GpoRuleConfigured GetAllowExperimentationValue();
|
static GpoRuleConfigured GetAllowExperimentationValue();
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ namespace PowerToys
|
|||||||
static GpoRuleConfigured GetConfiguredPastePlainEnabledValue();
|
static GpoRuleConfigured GetConfiguredPastePlainEnabledValue();
|
||||||
static GpoRuleConfigured GetConfiguredVideoConferenceMuteEnabledValue();
|
static GpoRuleConfigured GetConfiguredVideoConferenceMuteEnabledValue();
|
||||||
static GpoRuleConfigured GetConfiguredPeekEnabledValue();
|
static GpoRuleConfigured GetConfiguredPeekEnabledValue();
|
||||||
|
static GpoRuleConfigured GetDisableNewUpdateToastValue();
|
||||||
static GpoRuleConfigured GetDisableAutomaticUpdateDownloadValue();
|
static GpoRuleConfigured GetDisableAutomaticUpdateDownloadValue();
|
||||||
static GpoRuleConfigured GetDisableShowWhatsNewAfterUpdatesValue();
|
static GpoRuleConfigured GetDisableShowWhatsNewAfterUpdatesValue();
|
||||||
static GpoRuleConfigured GetAllowExperimentationValue();
|
static GpoRuleConfigured GetAllowExperimentationValue();
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ namespace powertoys_gpo {
|
|||||||
const std::wstring POLICY_DISABLE_PER_USER_INSTALLATION = L"PerUserInstallationDisabled";
|
const std::wstring POLICY_DISABLE_PER_USER_INSTALLATION = L"PerUserInstallationDisabled";
|
||||||
const std::wstring POLICY_DISABLE_AUTOMATIC_UPDATE_DOWNLOAD = L"AutomaticUpdateDownloadDisabled";
|
const std::wstring POLICY_DISABLE_AUTOMATIC_UPDATE_DOWNLOAD = L"AutomaticUpdateDownloadDisabled";
|
||||||
const std::wstring POLICY_SUSPEND_NEW_UPDATE_TOAST = L"SuspendNewUpdateAvailableToast";
|
const std::wstring POLICY_SUSPEND_NEW_UPDATE_TOAST = L"SuspendNewUpdateAvailableToast";
|
||||||
|
const std::wstring POLICY_DISABLE_NEW_UPDATE_TOAST = L"DisableNewUpdateAvailableToast";
|
||||||
const std::wstring POLICY_DISABLE_PERIODIC_UPDATE_CHECK = L"PeriodicUpdateCheckDisabled";
|
const std::wstring POLICY_DISABLE_PERIODIC_UPDATE_CHECK = L"PeriodicUpdateCheckDisabled";
|
||||||
const std::wstring POLICY_DISABLE_SHOW_WHATS_NEW_AFTER_UPDATES = L"DoNotShowWhatsNewAfterUpdates";
|
const std::wstring POLICY_DISABLE_SHOW_WHATS_NEW_AFTER_UPDATES = L"DoNotShowWhatsNewAfterUpdates";
|
||||||
|
|
||||||
@@ -406,6 +407,11 @@ namespace powertoys_gpo {
|
|||||||
return getConfiguredValue(POLICY_SUSPEND_NEW_UPDATE_TOAST);
|
return getConfiguredValue(POLICY_SUSPEND_NEW_UPDATE_TOAST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline gpo_rule_configured_t getDisableNewUpdateToastValue()
|
||||||
|
{
|
||||||
|
return getConfiguredValue(POLICY_DISABLE_NEW_UPDATE_TOAST);
|
||||||
|
}
|
||||||
|
|
||||||
inline gpo_rule_configured_t getDisablePeriodicUpdateCheckValue()
|
inline gpo_rule_configured_t getDisablePeriodicUpdateCheckValue()
|
||||||
{
|
{
|
||||||
return getConfiguredValue(POLICY_DISABLE_PERIODIC_UPDATE_CHECK);
|
return getConfiguredValue(POLICY_DISABLE_PERIODIC_UPDATE_CHECK);
|
||||||
|
|||||||
@@ -440,6 +440,16 @@
|
|||||||
<disabledValue>
|
<disabledValue>
|
||||||
<decimal value="0" />
|
<decimal value="0" />
|
||||||
</disabledValue>
|
</disabledValue>
|
||||||
|
</policy>
|
||||||
|
<policy name="DisableNewUpdateToast" class="Both" displayName="$(string.DisableNewUpdateToast)" explainText="$(string.DisableNewUpdateToastDescription)" key="Software\Policies\PowerToys" valueName="DisableNewUpdateAvailableToast">
|
||||||
|
<parentCategory ref="InstallerUpdates" />
|
||||||
|
<supportedOn ref="SUPPORTED_POWERTOYS_0_78_0" />
|
||||||
|
<enabledValue>
|
||||||
|
<decimal value="1" />
|
||||||
|
</enabledValue>
|
||||||
|
<disabledValue>
|
||||||
|
<decimal value="0" />
|
||||||
|
</disabledValue>
|
||||||
</policy>
|
</policy>
|
||||||
<!-- This policy is implemented for later usage (PT v1.0 and later) and therefore inactive. (To make it working please update `src/runner/UpdateUtils.cpp`)
|
<!-- This policy is implemented for later usage (PT v1.0 and later) and therefore inactive. (To make it working please update `src/runner/UpdateUtils.cpp`)
|
||||||
<policy name="DisablePeriodicUpdateCheck" class="Both" displayName="$(string.DisablePeriodicUpdateCheck)" explainText="$(string.DisablePeriodicUpdateCheckDescription)" key="Software\Policies\PowerToys" valueName="PeriodicUpdateCheckDisabled">
|
<policy name="DisablePeriodicUpdateCheck" class="Both" displayName="$(string.DisablePeriodicUpdateCheck)" explainText="$(string.DisablePeriodicUpdateCheckDescription)" key="Software\Policies\PowerToys" valueName="PeriodicUpdateCheckDisabled">
|
||||||
|
|||||||
@@ -72,6 +72,14 @@ If enabled, the notification is suspended.
|
|||||||
If disabled or not configured, the notification is shown.
|
If disabled or not configured, the notification is shown.
|
||||||
|
|
||||||
Note: The notification about new major versions is always displayed.
|
Note: The notification about new major versions is always displayed.
|
||||||
|
|
||||||
|
This policy has no effect if the update notification is disabled by the policy "Disable Action Center notification for new updates" or the user setting.
|
||||||
|
</string>
|
||||||
|
<string id="DisableNewUpdateToastDescription">This policy configures whether the action center notification for new updates is shown or not.
|
||||||
|
|
||||||
|
If enabled, the notification is disabled.
|
||||||
|
|
||||||
|
If disabled or not configured, the user can control if the notification is shown or not.
|
||||||
</string>
|
</string>
|
||||||
<string id="DisablePeriodicUpdateCheckDescription">This policy allows you to disable automatic update checks running in the background. (The manual check in PT Settings is not affected by this policy.)
|
<string id="DisablePeriodicUpdateCheckDescription">This policy allows you to disable automatic update checks running in the background. (The manual check in PT Settings is not affected by this policy.)
|
||||||
|
|
||||||
@@ -156,6 +164,7 @@ Note: Changes require a restart of PowerToys Run.
|
|||||||
<string id="DisableAutomaticUpdateDownload">Disable automatic downloads</string>
|
<string id="DisableAutomaticUpdateDownload">Disable automatic downloads</string>
|
||||||
<string id="DoNotShowWhatsNewAfterUpdates">Do not show the release notes after updates</string>
|
<string id="DoNotShowWhatsNewAfterUpdates">Do not show the release notes after updates</string>
|
||||||
<string id="SuspendNewUpdateToast">Suspend Action Center notification for new updates</string>
|
<string id="SuspendNewUpdateToast">Suspend Action Center notification for new updates</string>
|
||||||
|
<string id="DisableNewUpdateToast">Disable Action Center notification for new updates</string>
|
||||||
<string id="DisablePeriodicUpdateCheck">Disable automatic update checks</string>
|
<string id="DisablePeriodicUpdateCheck">Disable automatic update checks</string>
|
||||||
<string id="AllowExperimentation">Allow Experimentation</string>
|
<string id="AllowExperimentation">Allow Experimentation</string>
|
||||||
<string id="PowerToysRunAllPluginsEnabledState">Configure enabled state for all plugins</string>
|
<string id="PowerToysRunAllPluginsEnabledState">Configure enabled state for all plugins</string>
|
||||||
|
|||||||
@@ -140,9 +140,16 @@ void ProcessNewVersionInfo(const github_version_info& version_info,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check notification GPO.
|
// Check toast notification GPOs and settings. (We check only if notifications are allowed. This is the case if we are triggered by the periodic check.)
|
||||||
// We check only if notifications are allowed. This is the case if we are triggered by the periodic check.
|
// Disable notification GPO or setting
|
||||||
if (show_notifications && powertoys_gpo::getSuspendNewUpdateToastValue() == powertoys_gpo::gpo_rule_configured_enabled)
|
bool disable_notification_setting = get_general_settings().showNewUpdatesToastNotification == false;
|
||||||
|
if (show_notifications && (disable_notification_setting || powertoys_gpo::getDisableNewUpdateToastValue() == powertoys_gpo::gpo_rule_configured_enabled))
|
||||||
|
{
|
||||||
|
Logger::info(L"There is a new update available or ready to install. But the toast notification is disabled by setting or GPO.");
|
||||||
|
show_notifications = false;
|
||||||
|
}
|
||||||
|
// Suspend notification GPO
|
||||||
|
else if (show_notifications && powertoys_gpo::getSuspendNewUpdateToastValue() == powertoys_gpo::gpo_rule_configured_enabled)
|
||||||
{
|
{
|
||||||
Logger::info(L"GPO to suspend new update toast notification is enabled.");
|
Logger::info(L"GPO to suspend new update toast notification is enabled.");
|
||||||
if (new_version_info.version.major <= VERSION_MAJOR && new_version_info.version.minor - VERSION_MINOR <= UPDATE_NOTIFICATION_TOAST_SUSPEND_MINOR_VERSION_COUNT)
|
if (new_version_info.version.major <= VERSION_MAJOR && new_version_info.version.minor - VERSION_MINOR <= UPDATE_NOTIFICATION_TOAST_SUSPEND_MINOR_VERSION_COUNT)
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
// TODO: would be nice to get rid of these globals, since they're basically cached json settings
|
// TODO: would be nice to get rid of these globals, since they're basically cached json settings
|
||||||
static std::wstring settings_theme = L"system";
|
static std::wstring settings_theme = L"system";
|
||||||
static bool run_as_elevated = false;
|
static bool run_as_elevated = false;
|
||||||
|
static bool show_new_updates_toast_notification = true;
|
||||||
static bool download_updates_automatically = true;
|
static bool download_updates_automatically = true;
|
||||||
static bool show_whats_new_after_updates = true;
|
static bool show_whats_new_after_updates = true;
|
||||||
static bool enable_experimentation = true;
|
static bool enable_experimentation = true;
|
||||||
@@ -39,6 +40,7 @@ json::JsonObject GeneralSettings::to_json()
|
|||||||
|
|
||||||
result.SetNamedValue(L"is_elevated", json::value(isElevated));
|
result.SetNamedValue(L"is_elevated", json::value(isElevated));
|
||||||
result.SetNamedValue(L"run_elevated", json::value(isRunElevated));
|
result.SetNamedValue(L"run_elevated", json::value(isRunElevated));
|
||||||
|
result.SetNamedValue(L"show_new_updates_toast_notification", json::value(showNewUpdatesToastNotification));
|
||||||
result.SetNamedValue(L"download_updates_automatically", json::value(downloadUpdatesAutomatically));
|
result.SetNamedValue(L"download_updates_automatically", json::value(downloadUpdatesAutomatically));
|
||||||
result.SetNamedValue(L"show_whats_new_after_updates", json::value(showWhatsNewAfterUpdates));
|
result.SetNamedValue(L"show_whats_new_after_updates", json::value(showWhatsNewAfterUpdates));
|
||||||
result.SetNamedValue(L"enable_experimentation", json::value(enableExperimentation));
|
result.SetNamedValue(L"enable_experimentation", json::value(enableExperimentation));
|
||||||
@@ -60,6 +62,7 @@ json::JsonObject load_general_settings()
|
|||||||
settings_theme = L"system";
|
settings_theme = L"system";
|
||||||
}
|
}
|
||||||
run_as_elevated = loaded.GetNamedBoolean(L"run_elevated", false);
|
run_as_elevated = loaded.GetNamedBoolean(L"run_elevated", false);
|
||||||
|
show_new_updates_toast_notification = loaded.GetNamedBoolean(L"show_new_updates_toast_notification", true);
|
||||||
download_updates_automatically = loaded.GetNamedBoolean(L"download_updates_automatically", true) && check_user_is_admin();
|
download_updates_automatically = loaded.GetNamedBoolean(L"download_updates_automatically", true) && check_user_is_admin();
|
||||||
show_whats_new_after_updates = loaded.GetNamedBoolean(L"show_whats_new_after_updates", true);
|
show_whats_new_after_updates = loaded.GetNamedBoolean(L"show_whats_new_after_updates", true);
|
||||||
enable_experimentation = loaded.GetNamedBoolean(L"enable_experimentation",true);
|
enable_experimentation = loaded.GetNamedBoolean(L"enable_experimentation",true);
|
||||||
@@ -76,6 +79,7 @@ GeneralSettings get_general_settings()
|
|||||||
.isRunElevated = run_as_elevated,
|
.isRunElevated = run_as_elevated,
|
||||||
.isAdmin = is_user_admin,
|
.isAdmin = is_user_admin,
|
||||||
.enableWarningsElevatedApps = enable_warnings_elevated_apps,
|
.enableWarningsElevatedApps = enable_warnings_elevated_apps,
|
||||||
|
.showNewUpdatesToastNotification = show_new_updates_toast_notification,
|
||||||
.downloadUpdatesAutomatically = download_updates_automatically && is_user_admin,
|
.downloadUpdatesAutomatically = download_updates_automatically && is_user_admin,
|
||||||
.showWhatsNewAfterUpdates = show_whats_new_after_updates,
|
.showWhatsNewAfterUpdates = show_whats_new_after_updates,
|
||||||
.enableExperimentation = enable_experimentation,
|
.enableExperimentation = enable_experimentation,
|
||||||
@@ -101,6 +105,8 @@ void apply_general_settings(const json::JsonObject& general_configs, bool save)
|
|||||||
|
|
||||||
enable_warnings_elevated_apps = general_configs.GetNamedBoolean(L"enable_warnings_elevated_apps", true);
|
enable_warnings_elevated_apps = general_configs.GetNamedBoolean(L"enable_warnings_elevated_apps", true);
|
||||||
|
|
||||||
|
show_new_updates_toast_notification = general_configs.GetNamedBoolean(L"show_new_updates_toast_notification", true);
|
||||||
|
|
||||||
download_updates_automatically = general_configs.GetNamedBoolean(L"download_updates_automatically", true);
|
download_updates_automatically = general_configs.GetNamedBoolean(L"download_updates_automatically", true);
|
||||||
show_whats_new_after_updates = general_configs.GetNamedBoolean(L"show_whats_new_after_updates", true);
|
show_whats_new_after_updates = general_configs.GetNamedBoolean(L"show_whats_new_after_updates", true);
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ struct GeneralSettings
|
|||||||
bool isRunElevated;
|
bool isRunElevated;
|
||||||
bool isAdmin;
|
bool isAdmin;
|
||||||
bool enableWarningsElevatedApps;
|
bool enableWarningsElevatedApps;
|
||||||
|
bool showNewUpdatesToastNotification;
|
||||||
bool downloadUpdatesAutomatically;
|
bool downloadUpdatesAutomatically;
|
||||||
bool showWhatsNewAfterUpdates;
|
bool showWhatsNewAfterUpdates;
|
||||||
bool enableExperimentation;
|
bool enableExperimentation;
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ namespace Microsoft.PowerToys.Settings.UI.Library
|
|||||||
[JsonPropertyName("enabled")]
|
[JsonPropertyName("enabled")]
|
||||||
public EnabledModules Enabled { get; set; }
|
public EnabledModules Enabled { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("show_new_updates_toast_notification")]
|
||||||
|
public bool ShowNewUpdatesToastNotification { get; set; }
|
||||||
|
|
||||||
[JsonPropertyName("download_updates_automatically")]
|
[JsonPropertyName("download_updates_automatically")]
|
||||||
public bool AutoDownloadUpdates { get; set; }
|
public bool AutoDownloadUpdates { get; set; }
|
||||||
|
|
||||||
@@ -66,6 +69,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
|
|||||||
IsAdmin = false;
|
IsAdmin = false;
|
||||||
EnableWarningsElevatedApps = true;
|
EnableWarningsElevatedApps = true;
|
||||||
IsElevated = false;
|
IsElevated = false;
|
||||||
|
ShowNewUpdatesToastNotification = true;
|
||||||
AutoDownloadUpdates = false;
|
AutoDownloadUpdates = false;
|
||||||
EnableExperimentation = true;
|
EnableExperimentation = true;
|
||||||
Theme = "system";
|
Theme = "system";
|
||||||
|
|||||||
@@ -198,6 +198,19 @@
|
|||||||
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.ShowWhatsNewAfterUpdatesIsGpoDisabled}"
|
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.ShowWhatsNewAfterUpdatesIsGpoDisabled}"
|
||||||
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.ShowWhatsNewAfterUpdatesIsGpoDisabled}"
|
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.ShowWhatsNewAfterUpdatesIsGpoDisabled}"
|
||||||
Severity="Informational" />
|
Severity="Informational" />
|
||||||
|
|
||||||
|
<tkcontrols:SettingsCard
|
||||||
|
x:Uid="GeneralPage_ToggleSwitch_ShowNewUpdatesToast"
|
||||||
|
Margin="0,-6,0,0"
|
||||||
|
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsNewUpdatesToastDisabledGpoConfigured, Converter={StaticResource BoolNegationConverter}}">
|
||||||
|
<ToggleSwitch x:Uid="ToggleSwitch" IsOn="{Binding Mode=TwoWay, Path=ShowNewUpdatesToastNotification}" />
|
||||||
|
</tkcontrols:SettingsCard>
|
||||||
|
<InfoBar
|
||||||
|
x:Uid="GPO_IsSettingForced"
|
||||||
|
IsClosable="False"
|
||||||
|
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.IsNewUpdatesToastDisabledGpoConfigured}"
|
||||||
|
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.IsNewUpdatesToastDisabledGpoConfigured}"
|
||||||
|
Severity="Informational" />
|
||||||
</controls:SettingsGroup>
|
</controls:SettingsGroup>
|
||||||
|
|
||||||
<controls:SettingsGroup x:Uid="Admin_Mode">
|
<controls:SettingsGroup x:Uid="Admin_Mode">
|
||||||
|
|||||||
@@ -4017,4 +4017,10 @@ Activate by holding the key for the character you want to add an accent to, then
|
|||||||
<data name="CmdNotFound_Arm64ArchBar.Title" xml:space="preserve">
|
<data name="CmdNotFound_Arm64ArchBar.Title" xml:space="preserve">
|
||||||
<value>Command Not Found is not supported on the ARM64 architecture currently. We are actively working on a solution.</value>
|
<value>Command Not Found is not supported on the ARM64 architecture currently. We are actively working on a solution.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="GeneralPage_ToggleSwitch_ShowNewUpdatesToast.Description" xml:space="preserve">
|
||||||
|
<value>Notifications in the settings and the tray flyout are always shown</value>
|
||||||
|
</data>
|
||||||
|
<data name="GeneralPage_ToggleSwitch_ShowNewUpdatesToast.Header" xml:space="preserve">
|
||||||
|
<value>Show notifications for new updates</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -121,6 +121,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
}
|
}
|
||||||
|
|
||||||
_startup = GeneralSettingsConfig.Startup;
|
_startup = GeneralSettingsConfig.Startup;
|
||||||
|
_showNewUpdatesToastNotification = GeneralSettingsConfig.ShowNewUpdatesToastNotification;
|
||||||
_autoDownloadUpdates = GeneralSettingsConfig.AutoDownloadUpdates;
|
_autoDownloadUpdates = GeneralSettingsConfig.AutoDownloadUpdates;
|
||||||
_showWhatsNewAfterUpdates = GeneralSettingsConfig.ShowWhatsNewAfterUpdates;
|
_showWhatsNewAfterUpdates = GeneralSettingsConfig.ShowWhatsNewAfterUpdates;
|
||||||
_enableExperimentation = GeneralSettingsConfig.EnableExperimentation;
|
_enableExperimentation = GeneralSettingsConfig.EnableExperimentation;
|
||||||
@@ -139,8 +140,9 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
_newAvailableVersionLink = UpdatingSettingsConfig.ReleasePageLink;
|
_newAvailableVersionLink = UpdatingSettingsConfig.ReleasePageLink;
|
||||||
_updateCheckedDate = UpdatingSettingsConfig.LastCheckedDateLocalized;
|
_updateCheckedDate = UpdatingSettingsConfig.LastCheckedDateLocalized;
|
||||||
|
|
||||||
_experimentationIsGpoDisallowed = GPOWrapper.GetAllowExperimentationValue() == GpoRuleConfigured.Disabled;
|
_newUpdatesToastIsGpoDisabled = GPOWrapper.GetDisableNewUpdateToastValue() == GpoRuleConfigured.Enabled;
|
||||||
_autoDownloadUpdatesIsGpoDisabled = GPOWrapper.GetDisableAutomaticUpdateDownloadValue() == GpoRuleConfigured.Enabled;
|
_autoDownloadUpdatesIsGpoDisabled = GPOWrapper.GetDisableAutomaticUpdateDownloadValue() == GpoRuleConfigured.Enabled;
|
||||||
|
_experimentationIsGpoDisallowed = GPOWrapper.GetAllowExperimentationValue() == GpoRuleConfigured.Disabled;
|
||||||
_showWhatsNewAfterUpdatesIsGpoDisabled = GPOWrapper.GetDisableShowWhatsNewAfterUpdatesValue() == GpoRuleConfigured.Enabled;
|
_showWhatsNewAfterUpdatesIsGpoDisabled = GPOWrapper.GetDisableShowWhatsNewAfterUpdatesValue() == GpoRuleConfigured.Enabled;
|
||||||
|
|
||||||
if (dispatcherAction != null)
|
if (dispatcherAction != null)
|
||||||
@@ -156,6 +158,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
private bool _enableWarningsElevatedApps;
|
private bool _enableWarningsElevatedApps;
|
||||||
private int _themeIndex;
|
private int _themeIndex;
|
||||||
|
|
||||||
|
private bool _showNewUpdatesToastNotification;
|
||||||
|
private bool _newUpdatesToastIsGpoDisabled;
|
||||||
private bool _autoDownloadUpdates;
|
private bool _autoDownloadUpdates;
|
||||||
private bool _autoDownloadUpdatesIsGpoDisabled;
|
private bool _autoDownloadUpdatesIsGpoDisabled;
|
||||||
private bool _showWhatsNewAfterUpdates;
|
private bool _showWhatsNewAfterUpdates;
|
||||||
@@ -303,6 +307,29 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ShowNewUpdatesToastNotification
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _showNewUpdatesToastNotification && !_newUpdatesToastIsGpoDisabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_showNewUpdatesToastNotification != value)
|
||||||
|
{
|
||||||
|
_showNewUpdatesToastNotification = value;
|
||||||
|
GeneralSettingsConfig.ShowNewUpdatesToastNotification = value;
|
||||||
|
NotifyPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsNewUpdatesToastDisabledGpoConfigured
|
||||||
|
{
|
||||||
|
get => _newUpdatesToastIsGpoDisabled;
|
||||||
|
}
|
||||||
|
|
||||||
public bool AutoDownloadUpdates
|
public bool AutoDownloadUpdates
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
Reference in New Issue
Block a user