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