mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 02:36:19 +02:00
[GPO][MWB]Add policy to disable service mode (#37366)
* [MWB]Add policy to disable service mode * Add restart note * Tweak settings to disable setting * Tweak infobars * Policy should be machine only
This commit is contained in:
@@ -186,12 +186,19 @@
|
||||
</tkcontrols:SettingsCard>
|
||||
</controls:SettingsGroup>
|
||||
<controls:SettingsGroup x:Uid="MouseWithoutBorders_ServiceSettings" IsEnabled="{x:Bind ViewModel.CanToggleUseService, Mode=OneWay}">
|
||||
<tkcontrols:SettingsCard x:Uid="MouseWithoutBorders_UseService">
|
||||
<ToggleSwitch
|
||||
x:Uid="MouseWithoutBorders_UseService_ToggleSwitch"
|
||||
IsEnabled="{x:Bind ViewModel.IsEnabled, Mode=OneWay}"
|
||||
IsOn="{x:Bind ViewModel.UseService, Mode=TwoWay}" />
|
||||
<tkcontrols:SettingsCard x:Uid="MouseWithoutBorders_UseService" IsEnabled="{x:Bind ViewModel.UseServiceSettingIsEnabled, Mode=OneWay}">
|
||||
<ToggleSwitch x:Uid="MouseWithoutBorders_UseService_ToggleSwitch" IsOn="{x:Bind ViewModel.UseService, Mode=TwoWay}" />
|
||||
</tkcontrols:SettingsCard>
|
||||
<InfoBar
|
||||
x:Uid="GPO_SettingIsManaged"
|
||||
IsClosable="False"
|
||||
IsOpen="{x:Bind ViewModel.ShowPolicyConfiguredInfoForServiceSettings, Mode=OneWay}"
|
||||
IsTabStop="{x:Bind ViewModel.ShowPolicyConfiguredInfoForServiceSettings, Mode=OneWay}"
|
||||
Severity="Informational">
|
||||
<InfoBar.IconSource>
|
||||
<FontIconSource FontFamily="{StaticResource SymbolThemeFontFamily}" Glyph="" />
|
||||
</InfoBar.IconSource>
|
||||
</InfoBar>
|
||||
<InfoBar
|
||||
x:Uid="MouseWithoutBorders_RunAsAdminText"
|
||||
IsClosable="False"
|
||||
|
||||
@@ -93,10 +93,23 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
|
||||
public bool UseService
|
||||
{
|
||||
get => Settings.Properties.UseService;
|
||||
get
|
||||
{
|
||||
if (_allowServiceModeGpoConfiguration == GpoRuleConfigured.Disabled)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return Settings.Properties.UseService;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (_allowServiceModeIsGPOConfigured)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var valueChanged = Settings.Properties.UseService != value;
|
||||
|
||||
// Set the UI property itself instantly
|
||||
@@ -122,6 +135,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public bool UseServiceSettingIsEnabled => _allowServiceModeIsGPOConfigured == false;
|
||||
|
||||
public bool ConnectFieldsVisible
|
||||
{
|
||||
get => _connectFieldsVisible;
|
||||
@@ -185,6 +200,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
private bool _useOriginalUserInterfaceIsGPOConfigured;
|
||||
private GpoRuleConfigured _disallowBlockingScreensaverGpoConfiguration;
|
||||
private bool _disallowBlockingScreensaverIsGPOConfigured;
|
||||
private GpoRuleConfigured _allowServiceModeGpoConfiguration;
|
||||
private bool _allowServiceModeIsGPOConfigured;
|
||||
private GpoRuleConfigured _sameSubnetOnlyGpoConfiguration;
|
||||
private bool _sameSubnetOnlyIsGPOConfigured;
|
||||
private GpoRuleConfigured _validateRemoteIpGpoConfiguration;
|
||||
@@ -507,6 +524,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
_disableUserDefinedIpMappingRulesIsGPOConfigured = _disableUserDefinedIpMappingRulesGpoConfiguration == GpoRuleConfigured.Enabled;
|
||||
|
||||
// Policies supporting only disabled state
|
||||
_allowServiceModeGpoConfiguration = GPOWrapper.GetConfiguredMwbAllowServiceModeValue();
|
||||
_allowServiceModeIsGPOConfigured = _allowServiceModeGpoConfiguration == GpoRuleConfigured.Disabled;
|
||||
_clipboardSharingEnabledGpoConfiguration = GPOWrapper.GetConfiguredMwbClipboardSharingEnabledValue();
|
||||
_clipboardSharingEnabledIsGPOConfigured = _clipboardSharingEnabledGpoConfiguration == GpoRuleConfigured.Disabled;
|
||||
_fileTransferEnabledGpoConfiguration = GPOWrapper.GetConfiguredMwbFileTransferEnabledValue();
|
||||
@@ -1231,6 +1250,14 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
SendCustomAction("uninstall_service");
|
||||
}
|
||||
|
||||
public bool ShowPolicyConfiguredInfoForServiceSettings
|
||||
{
|
||||
get
|
||||
{
|
||||
return IsEnabled && _allowServiceModeIsGPOConfigured;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ShowPolicyConfiguredInfoForBehaviorSettings
|
||||
{
|
||||
get
|
||||
@@ -1248,7 +1275,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
|
||||
public bool ShowInfobarRunAsAdminText
|
||||
{
|
||||
get { return !CanToggleUseService && IsEnabled; }
|
||||
get { return !CanToggleUseService && IsEnabled && !ShowPolicyConfiguredInfoForServiceSettings; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user