[Shortcut Guide] Support delayed display of shortcuts except for taskbar shortcuts (#21762)

* Implement the delayed rendering

* Impelement settings UI

* Rename

* Set the minimum of ShortcutGuide_PressTimeForTaskbarIconShortcuts to 100ms

* Separate the animations of the global windows shortcuts and the taskbar icon shortcuts

* Amend

* Handle the case when the shortcut guide is not activated by win key long press

* Remove .vscode

* Keep the user's original setting of the win key press time

* Revert the default press time to 900 ms

* Restore default as 900
This commit is contained in:
Okami Wong
2022-11-18 22:22:40 +08:00
committed by GitHub
parent 6767ff736b
commit 89330986f4
11 changed files with 424 additions and 275 deletions

View File

@@ -66,7 +66,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
}
_useLegacyPressWinKeyBehavior = Settings.Properties.UseLegacyPressWinKeyBehavior.Value;
_pressTime = Settings.Properties.PressTime.Value;
_pressTimeForGlobalWindowsShortcuts = Settings.Properties.PressTimeForGlobalWindowsShortcuts.Value;
_pressTimeForTaskbarIconShortcuts = Settings.Properties.PressTimeForTaskbarIconShortcuts.Value;
_opacity = Settings.Properties.OverlayOpacity.Value;
_disabledApps = Settings.Properties.DisabledApps.Value;
@@ -83,7 +84,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
private bool _isEnabled;
private int _themeIndex;
private bool _useLegacyPressWinKeyBehavior;
private int _pressTime;
private int _pressTimeForGlobalWindowsShortcuts;
private int _pressTimeForTaskbarIconShortcuts;
private int _opacity;
public bool IsEnabled
@@ -201,15 +203,33 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
{
get
{
return _pressTime;
return _pressTimeForGlobalWindowsShortcuts;
}
set
{
if (_pressTime != value)
if (_pressTimeForGlobalWindowsShortcuts != value)
{
_pressTime = value;
Settings.Properties.PressTime.Value = value;
_pressTimeForGlobalWindowsShortcuts = value;
Settings.Properties.PressTimeForGlobalWindowsShortcuts.Value = value;
NotifyPropertyChanged();
}
}
}
public int DelayTime
{
get
{
return _pressTimeForTaskbarIconShortcuts;
}
set
{
if (_pressTimeForTaskbarIconShortcuts != value)
{
_pressTimeForTaskbarIconShortcuts = value;
Settings.Properties.PressTimeForTaskbarIconShortcuts.Value = value;
NotifyPropertyChanged();
}
}