mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-09 12:46:47 +02:00
[Settings]Fix MWB infobars to hide when the module is disabled (#33562)
## Summary of the Pull Request This PR fixes two bugs for the info bars on the MWB settings page: - The bars are shown if module is disabled. - Some bars can be closed. - Some bars are reacting to tab stop on closed state.
This commit is contained in:
@@ -170,9 +170,9 @@
|
|||||||
|
|
||||||
<InfoBar
|
<InfoBar
|
||||||
x:Uid="MouseWithoutBorders_CannotDragDropAsAdmin"
|
x:Uid="MouseWithoutBorders_CannotDragDropAsAdmin"
|
||||||
IsClosable="True"
|
IsClosable="False"
|
||||||
IsOpen="{x:Bind ViewModel.IsElevated, Mode=OneWay}"
|
IsOpen="{x:Bind ViewModel.ShowInfobarCannotDragDropAsAdmin, Mode=OneWay}"
|
||||||
IsTabStop="True"
|
IsTabStop="{x:Bind ViewModel.ShowInfobarCannotDragDropAsAdmin, Mode=OneWay}"
|
||||||
Severity="Informational" />
|
Severity="Informational" />
|
||||||
|
|
||||||
|
|
||||||
@@ -191,14 +191,14 @@
|
|||||||
<InfoBar
|
<InfoBar
|
||||||
x:Uid="MouseWithoutBorders_RunAsAdminText"
|
x:Uid="MouseWithoutBorders_RunAsAdminText"
|
||||||
IsClosable="False"
|
IsClosable="False"
|
||||||
IsOpen="{x:Bind ViewModel.CanToggleUseService, Mode=OneWay, Converter={StaticResource BoolNegationConverter}}"
|
IsOpen="{x:Bind ViewModel.ShowInfobarRunAsAdminText, Mode=OneWay}"
|
||||||
IsTabStop="True"
|
IsTabStop="{x:Bind ViewModel.ShowInfobarRunAsAdminText, Mode=OneWay}"
|
||||||
Severity="Informational" />
|
Severity="Informational" />
|
||||||
<InfoBar
|
<InfoBar
|
||||||
x:Uid="MouseWithoutBorders_ServiceUserUninstallWarning"
|
x:Uid="MouseWithoutBorders_ServiceUserUninstallWarning"
|
||||||
IsClosable="True"
|
IsClosable="False"
|
||||||
IsOpen="True"
|
IsOpen="{x:Bind ViewModel.IsEnabled, Mode=OneWay}"
|
||||||
IsTabStop="True"
|
IsTabStop="{x:Bind ViewModel.IsEnabled, Mode=OneWay}"
|
||||||
Severity="Warning" />
|
Severity="Warning" />
|
||||||
<tkcontrols:SettingsCard
|
<tkcontrols:SettingsCard
|
||||||
x:Uid="MouseWithoutBorders_UninstallService"
|
x:Uid="MouseWithoutBorders_UninstallService"
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
Settings.Properties.UseService = value;
|
Settings.Properties.UseService = value;
|
||||||
OnPropertyChanged(nameof(UseService));
|
OnPropertyChanged(nameof(UseService));
|
||||||
OnPropertyChanged(nameof(CanUninstallService));
|
OnPropertyChanged(nameof(CanUninstallService));
|
||||||
|
OnPropertyChanged(nameof(ShowInfobarRunAsAdminText));
|
||||||
|
|
||||||
// Must block here until the process exits
|
// Must block here until the process exits
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
@@ -566,6 +567,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
_isEnabled = value;
|
_isEnabled = value;
|
||||||
GeneralSettingsConfig.Enabled.MouseWithoutBorders = value;
|
GeneralSettingsConfig.Enabled.MouseWithoutBorders = value;
|
||||||
OnPropertyChanged(nameof(IsEnabled));
|
OnPropertyChanged(nameof(IsEnabled));
|
||||||
|
OnPropertyChanged(nameof(ShowInfobarRunAsAdminText));
|
||||||
|
OnPropertyChanged(nameof(ShowInfobarCannotDragDropAsAdmin));
|
||||||
|
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
@@ -1045,6 +1048,14 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
public void NotifyPropertyChanged([CallerMemberName] string propertyName = null)
|
public void NotifyPropertyChanged([CallerMemberName] string propertyName = null)
|
||||||
{
|
{
|
||||||
OnPropertyChanged(propertyName);
|
OnPropertyChanged(propertyName);
|
||||||
|
|
||||||
|
// Skip saving settings for UI properties
|
||||||
|
if (propertyName == nameof(ShowInfobarCannotDragDropAsAdmin) ||
|
||||||
|
propertyName == nameof(ShowInfobarRunAsAdminText))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
SettingsUtils.SaveSettings(Settings.ToJsonString(), MouseWithoutBordersSettings.ModuleName);
|
SettingsUtils.SaveSettings(Settings.ToJsonString(), MouseWithoutBordersSettings.ModuleName);
|
||||||
|
|
||||||
if (propertyName == nameof(UseService))
|
if (propertyName == nameof(UseService))
|
||||||
@@ -1071,5 +1082,15 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
{
|
{
|
||||||
SendCustomAction("uninstall_service");
|
SendCustomAction("uninstall_service");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ShowInfobarCannotDragDropAsAdmin
|
||||||
|
{
|
||||||
|
get { return IsElevated && IsEnabled; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ShowInfobarRunAsAdminText
|
||||||
|
{
|
||||||
|
get { return !CanToggleUseService && IsEnabled; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user