[Settings]Fix minor issues in showing shortcuts in Flyout and Dashboard (#31754)

This commit is contained in:
Davide Giacometti
2024-03-12 17:51:28 +01:00
committed by GitHub
parent a36e119204
commit c41c9b6107
4 changed files with 25 additions and 7 deletions

View File

@@ -7,6 +7,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:tkcontrols="using:CommunityToolkit.WinUI.Controls"
xmlns:tkconverters="using:CommunityToolkit.WinUI.Converters"
xmlns:ui="using:CommunityToolkit.WinUI"
xmlns:viewModels="using:Microsoft.PowerToys.Settings.UI.ViewModels"
mc:Ignorable="d">
@@ -20,6 +21,8 @@
<Setter Property="Height" Value="32" />
<Setter Property="FontFamily" Value="{ThemeResource SymbolThemeFontFamily}" />
</Style>
<tkconverters:StringVisibilityConverter x:Key="StringVisibilityConverter" />
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
@@ -79,7 +82,6 @@
AutomationProperties.Name="{x:Bind Label}"
Click="ModuleButton_Click"
Tag="{x:Bind Tag}"
ToolTipService.ToolTip="{x:Bind ToolTip}"
Visibility="{x:Bind Visible, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource BoolToVisibilityConverter}}">
<controls:FlyoutMenuButton.Content>
<TextBlock
@@ -95,6 +97,9 @@
</Image.Source>
</Image>
</controls:FlyoutMenuButton.Icon>
<ToolTipService.ToolTip>
<ToolTip Content="{x:Bind ToolTip}" Visibility="{x:Bind ToolTip, Converter={StaticResource StringVisibilityConverter}}" />
</ToolTipService.ToolTip>
</controls:FlyoutMenuButton>
</DataTemplate>
</ItemsControl.ItemTemplate>

View File

@@ -80,13 +80,14 @@ namespace Microsoft.PowerToys.Settings.UI
this.MoveAndResize(newPosition.X, newPosition.Y, WindowWidth, WindowHeight);
}
FlyoutShellPage.SwitchToLaunchPage();
}
if (args.WindowActivationState == Microsoft.UI.Xaml.WindowActivationState.Deactivated)
{
if (ViewModel.CanHide)
{
FlyoutShellPage.SwitchToLaunchPage();
this.Hide();
}
}

View File

@@ -18,7 +18,6 @@ using Microsoft.PowerToys.Settings.UI.Services;
using Microsoft.PowerToys.Settings.UI.Views;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Windows.UI;
namespace Microsoft.PowerToys.Settings.UI.ViewModels
{
@@ -443,9 +442,14 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
private ObservableCollection<DashboardModuleItem> GetModuleItemsShortcutGuide()
{
ISettingsRepository<ShortcutGuideSettings> moduleSettingsRepository = SettingsRepository<ShortcutGuideSettings>.GetInstance(new SettingsUtils());
var shortcut = moduleSettingsRepository.SettingsConfig.Properties.UseLegacyPressWinKeyBehavior.Value
? new List<object> { 92 } // Right Windows key code
: moduleSettingsRepository.SettingsConfig.Properties.OpenShortcutGuide.GetKeysList();
var list = new List<DashboardModuleItem>
{
new DashboardModuleShortcutItem() { Label = resourceLoader.GetString("ShortcutGuide_ShortDescription"), Shortcut = moduleSettingsRepository.SettingsConfig.Properties.OpenShortcutGuide.GetKeysList() },
new DashboardModuleShortcutItem() { Label = resourceLoader.GetString("ShortcutGuide_ShortDescription"), Shortcut = shortcut },
};
return new ObservableCollection<DashboardModuleItem>(list);
}

View File

@@ -76,12 +76,12 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
Label = resourceLoader.GetString(ModuleHelper.GetModuleLabelResourceName(moduleType)),
Tag = moduleType,
Visible = ModuleHelper.GetIsModuleEnabled(generalSettingsConfig, moduleType),
ToolTip = GetModuleTooltip(moduleType),
ToolTip = GetModuleToolTip(moduleType),
Icon = ModuleHelper.GetModuleTypeFluentIconName(moduleType),
});
}
private string GetModuleTooltip(ModuleType moduleType)
private string GetModuleToolTip(ModuleType moduleType)
{
return moduleType switch
{
@@ -90,7 +90,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
ModuleType.PowerLauncher => SettingsRepository<PowerLauncherSettings>.GetInstance(new SettingsUtils()).SettingsConfig.Properties.OpenPowerLauncher.ToString(),
ModuleType.PowerOCR => SettingsRepository<PowerOcrSettings>.GetInstance(new SettingsUtils()).SettingsConfig.Properties.ActivationShortcut.ToString(),
ModuleType.MeasureTool => SettingsRepository<MeasureToolSettings>.GetInstance(new SettingsUtils()).SettingsConfig.Properties.ActivationShortcut.ToString(),
ModuleType.ShortcutGuide => SettingsRepository<ShortcutGuideSettings>.GetInstance(new SettingsUtils()).SettingsConfig.Properties.OpenShortcutGuide.ToString(),
ModuleType.ShortcutGuide => GetShortcutGuideToolTip(),
_ => string.Empty,
};
}
@@ -105,6 +105,14 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
}
}
private string GetShortcutGuideToolTip()
{
var shortcutGuideSettings = SettingsRepository<ShortcutGuideSettings>.GetInstance(new SettingsUtils()).SettingsConfig;
return shortcutGuideSettings.Properties.UseLegacyPressWinKeyBehavior.Value
? "Win"
: shortcutGuideSettings.Properties.OpenShortcutGuide.ToString();
}
internal void StartBugReport()
{
SendIPCMessage("{\"bugreport\": 0 }");