From 14216a4ac08643c49907f5134311484e75575ba7 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Thu, 22 Dec 2022 22:57:15 +0800 Subject: [PATCH 1/6] Remove redundant default value --- Flow.Launcher/ViewModel/MainViewModel.cs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 09bba6e5c5e..3deb157404b 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -32,8 +32,6 @@ public partial class MainViewModel : BaseModel, ISavable { #region Private Fields - private const string DefaultOpenResultModifiers = "Alt"; - private bool _isQueryRunning; private Query _lastQuery; private string _queryTextBeforeLeaveResults; @@ -103,8 +101,6 @@ public MainViewModel(Settings settings) RegisterViewUpdate(); RegisterResultsUpdatedEvent(); RegisterClockAndDateUpdateAsync(); - - SetOpenResultModifiers(); } private void RegisterViewUpdate() @@ -513,7 +509,7 @@ public double MainWindowWidth public string PluginIconPath { get; set; } = null; - public string OpenResultCommandModifiers { get; private set; } + public string OpenResultCommandModifiers => Settings.OpenResultModifiers; public string Image => Constant.QueryTextBoxIconImagePath; @@ -876,11 +872,6 @@ private bool HistorySelected() #region Hotkey - private void SetOpenResultModifiers() - { - OpenResultCommandModifiers = Settings.OpenResultModifiers ?? DefaultOpenResultModifiers; - } - public void ToggleFlowLauncher() { if (!MainWindowVisibilityStatus) From 5de74c4676f6b9c88389469fb1f4eaa4efd07f64 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 23 Dec 2022 01:08:06 +0800 Subject: [PATCH 2/6] Fix changing OpenResultModifiers in settings won't reflect to main window --- Flow.Launcher/ViewModel/MainViewModel.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 3deb157404b..4153c02e2dd 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -72,6 +72,9 @@ public MainViewModel(Settings settings) case nameof(Settings.AlwaysStartEn): OnPropertyChanged(nameof(StartWithEnglishMode)); break; + case nameof(Settings.OpenResultModifiers): + OnPropertyChanged(nameof(OpenResultCommandModifiers)); + break; } }; From b1eb1910444a389eb7fbc8314d99791acebc3f2b Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 23 Dec 2022 11:46:12 +0800 Subject: [PATCH 3/6] Formatting --- Flow.Launcher/MainWindow.xaml | 4 ---- Flow.Launcher/MainWindow.xaml.cs | 8 +++++++- Flow.Launcher/ViewModel/MainViewModel.cs | 20 ++++++++++++++------ 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml index 095382e76fc..36a45da74db 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -86,14 +86,10 @@ Key="O" Command="{Binding LoadContextMenuCommand}" Modifiers="Ctrl" /> - - - - /// Checks if Flow Launcher should ignore any hotkeys /// @@ -939,7 +947,7 @@ public bool ShouldIgnoreHotkeys() return Settings.IgnoreHotkeysOnFullscreen && WindowsInteropHelper.IsWindowFullscreen(); } - + #endregion #region Public Methods From b18f5f4c02a0024a06a4c02cd8b90d2494d2ef45 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 23 Dec 2022 11:51:34 +0800 Subject: [PATCH 4/6] remove unused using --- Flow.Launcher/ViewModel/MainViewModel.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index d4b989eea98..9940ab0be95 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -4,7 +4,6 @@ using System.Threading; using System.Threading.Tasks; using System.Windows; -using System.Windows.Input; using Flow.Launcher.Core.Plugin; using Flow.Launcher.Core.Resource; using Flow.Launcher.Helper; @@ -24,7 +23,6 @@ using System.Collections.Specialized; using CommunityToolkit.Mvvm.Input; using System.Globalization; -using System.Windows.Threading; namespace Flow.Launcher.ViewModel { From 33615d1d46dfe9f8ecfc850db97fba4596601dee Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 23 Dec 2022 11:47:06 +0800 Subject: [PATCH 5/6] Neutralize warning --- Flow.Launcher/ViewModel/MainViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 9940ab0be95..26ad89fffcd 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -101,7 +101,7 @@ public MainViewModel(Settings settings) RegisterViewUpdate(); RegisterResultsUpdatedEvent(); - RegisterClockAndDateUpdateAsync(); + _ = RegisterClockAndDateUpdateAsync(); } private void RegisterViewUpdate() From 47d109cbe1bc1d5fdae4079b02c970e267553d77 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 23 Dec 2022 14:14:53 +0800 Subject: [PATCH 6/6] Refactor toggle game mode logic --- Flow.Launcher/Helper/HotKeyMapper.cs | 6 ++--- Flow.Launcher/MainWindow.xaml | 4 ++++ Flow.Launcher/MainWindow.xaml.cs | 28 +++++------------------- Flow.Launcher/ViewModel/MainViewModel.cs | 11 +++++++--- 4 files changed, 21 insertions(+), 28 deletions(-) diff --git a/Flow.Launcher/Helper/HotKeyMapper.cs b/Flow.Launcher/Helper/HotKeyMapper.cs index b9ac6afb3cd..27c044c66bd 100644 --- a/Flow.Launcher/Helper/HotKeyMapper.cs +++ b/Flow.Launcher/Helper/HotKeyMapper.cs @@ -1,4 +1,4 @@ -using Flow.Launcher.Infrastructure.Hotkey; +using Flow.Launcher.Infrastructure.Hotkey; using Flow.Launcher.Infrastructure.UserSettings; using System; using NHotkey; @@ -25,7 +25,7 @@ internal static void Initialize(MainViewModel mainVM) internal static void OnToggleHotkey(object sender, HotkeyEventArgs args) { - if (!mainViewModel.ShouldIgnoreHotkeys() && !mainViewModel.GameModeStatus) + if (!mainViewModel.ShouldIgnoreHotkeys()) mainViewModel.ToggleFlowLauncher(); } @@ -74,7 +74,7 @@ internal static void SetCustomQueryHotkey(CustomPluginHotkey hotkey) { SetHotkey(hotkey.Hotkey, (s, e) => { - if (mainViewModel.ShouldIgnoreHotkeys() || mainViewModel.GameModeStatus) + if (mainViewModel.ShouldIgnoreHotkeys()) return; mainViewModel.Show(); diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml index 36a45da74db..5ed9ba8026f 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -177,6 +177,10 @@ Command="{Binding OpenResultCommand}" CommandParameter="9" Modifiers="{Binding OpenResultCommandModifiers}" /> + diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 05e01a3f7f8..544958284b9 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -101,6 +101,7 @@ private void OnLoaded(object sender, RoutedEventArgs _) // since the default main window visibility is visible // so we need set focus during startup QueryTextBox.Focus(); + _viewModel.PropertyChanged += (o, e) => { switch (e.PropertyName) @@ -169,9 +170,12 @@ private void OnLoaded(object sender, RoutedEventArgs _) _viewModel.QueryTextCursorMovedToEnd = false; } break; - + case nameof(MainViewModel.GameModeStatus): + _notifyIcon.Icon = _viewModel.GameModeStatus ? Properties.Resources.gamemode : Properties.Resources.app; + break; } }; + _settings.PropertyChanged += (o, e) => { switch (e.PropertyName) @@ -286,7 +290,7 @@ private void InitializeNotifyIcon() }; open.Click += (o, e) => _viewModel.ToggleFlowLauncher(); - gamemode.Click += (o, e) => ToggleGameMode(); + gamemode.Click += (o, e) => _viewModel.ToggleGameMode(); positionreset.Click += (o, e) => PositionReset(); settings.Click += (o, e) => App.API.OpenSettingDialog(); exit.Click += (o, e) => Close(); @@ -332,20 +336,6 @@ private void OpenWelcomeWindow() WelcomeWindow.Show(); } - private void ToggleGameMode() - { - if (_viewModel.GameModeStatus) - { - _notifyIcon.Icon = Properties.Resources.app; - _viewModel.GameModeStatus = false; - } - else - { - _notifyIcon.Icon = Properties.Resources.gamemode; - _viewModel.GameModeStatus = true; - } - } - private async void PositionReset() { _viewModel.Show(); @@ -601,12 +591,6 @@ private void OnKeyDown(object sender, KeyEventArgs e) e.Handled = true; } break; - case Key.F12: - if (specialKeyState.CtrlPressed) - { - ToggleGameMode(); - } - break; case Key.Back: if (specialKeyState.CtrlPressed) { diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 26ad89fffcd..c474e2a156f 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -337,6 +337,12 @@ private void Esc() } } + [RelayCommand] + public void ToggleGameMode() + { + GameModeStatus = !GameModeStatus; + } + #endregion #region ViewModel Properties @@ -365,7 +371,7 @@ private async Task RegisterClockAndDateUpdateAsync() public ResultsViewModel History { get; private set; } - public bool GameModeStatus { get; set; } + public bool GameModeStatus { get; set; } = false; private string _queryText; public string QueryText @@ -379,7 +385,6 @@ public string QueryText } } - [RelayCommand] private void IncreaseWidth() { @@ -942,7 +947,7 @@ public async void Hide() /// public bool ShouldIgnoreHotkeys() { - return Settings.IgnoreHotkeysOnFullscreen && WindowsInteropHelper.IsWindowFullscreen(); + return Settings.IgnoreHotkeysOnFullscreen && WindowsInteropHelper.IsWindowFullscreen() || GameModeStatus; } #endregion