diff --git a/Flow.Launcher/Helper/HotKeyMapper.cs b/Flow.Launcher/Helper/HotKeyMapper.cs index b9ac6afb3..27c044c66 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 @@ namespace Flow.Launcher.Helper internal static void OnToggleHotkey(object sender, HotkeyEventArgs args) { - if (!mainViewModel.ShouldIgnoreHotkeys() && !mainViewModel.GameModeStatus) + if (!mainViewModel.ShouldIgnoreHotkeys()) mainViewModel.ToggleFlowLauncher(); } @@ -74,7 +74,7 @@ namespace Flow.Launcher.Helper { 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 095382e76..5ed9ba802 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -86,14 +86,10 @@ Key="O" Command="{Binding LoadContextMenuCommand}" Modifiers="Ctrl" /> - - - - + diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index a645a702c..544958284 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -70,6 +70,7 @@ namespace Flow.Launcher _viewModel.ResultCopy(QueryTextBox.SelectedText); } } + private async void OnClosing(object sender, CancelEventArgs e) { _settings.WindowTop = Top; @@ -100,6 +101,7 @@ namespace Flow.Launcher // since the default main window visibility is visible // so we need set focus during startup QueryTextBox.Focus(); + _viewModel.PropertyChanged += (o, e) => { switch (e.PropertyName) @@ -168,9 +170,12 @@ namespace Flow.Launcher _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) @@ -285,7 +290,7 @@ namespace Flow.Launcher }; 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(); @@ -324,24 +329,13 @@ namespace Flow.Launcher OpenWelcomeWindow(); } } + private void OpenWelcomeWindow() { var WelcomeWindow = new WelcomeWindow(_settings); 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(); @@ -349,6 +343,7 @@ namespace Flow.Launcher Left = HorizonCenter(); Top = VerticalCenter(); } + private void InitProgressbarAnimation() { var da = new DoubleAnimation(ProgressBar.X2, ActualWidth + 100, new Duration(new TimeSpan(0, 0, 0, 0, 1600))); @@ -361,6 +356,7 @@ namespace Flow.Launcher _viewModel.ProgressBarVisibility = Visibility.Hidden; isProgressBarStoryboardPaused = true; } + public void WindowAnimator() { if (_animating) @@ -475,7 +471,6 @@ namespace Flow.Launcher App.API.OpenSettingDialog(); } - private async void OnDeactivated(object sender, EventArgs e) { _settings.WindowLeft = Left; @@ -596,12 +591,6 @@ namespace Flow.Launcher e.Handled = true; } break; - case Key.F12: - if (specialKeyState.CtrlPressed) - { - ToggleGameMode(); - } - break; case Key.Back: if (specialKeyState.CtrlPressed) { @@ -644,6 +633,7 @@ namespace Flow.Launcher Preview.Visibility = Visibility.Collapsed; } } + public void PreviewToggle() { diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 09bba6e5c..c474e2a15 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -4,7 +4,6 @@ using System.Linq; 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.IO; using System.Collections.Specialized; using CommunityToolkit.Mvvm.Input; using System.Globalization; -using System.Windows.Threading; namespace Flow.Launcher.ViewModel { @@ -32,8 +30,6 @@ namespace Flow.Launcher.ViewModel { #region Private Fields - private const string DefaultOpenResultModifiers = "Alt"; - private bool _isQueryRunning; private Query _lastQuery; private string _queryTextBeforeLeaveResults; @@ -74,6 +70,9 @@ namespace Flow.Launcher.ViewModel case nameof(Settings.AlwaysStartEn): OnPropertyChanged(nameof(StartWithEnglishMode)); break; + case nameof(Settings.OpenResultModifiers): + OnPropertyChanged(nameof(OpenResultCommandModifiers)); + break; } }; @@ -102,9 +101,7 @@ namespace Flow.Launcher.ViewModel RegisterViewUpdate(); RegisterResultsUpdatedEvent(); - RegisterClockAndDateUpdateAsync(); - - SetOpenResultModifiers(); + _ = RegisterClockAndDateUpdateAsync(); } private void RegisterViewUpdate() @@ -136,8 +133,6 @@ namespace Flow.Launcher.ViewModel Log.Error("MainViewModel", "Unexpected ResultViewUpdate ends"); } - ; - void continueAction(Task t) { #if DEBUG @@ -181,6 +176,7 @@ namespace Flow.Launcher.ViewModel await PluginManager.ReloadDataAsync().ConfigureAwait(false); Notification.Show(InternationalizationManager.Instance.GetTranslation("success"), InternationalizationManager.Instance.GetTranslation("completedSuccessfully")); } + [RelayCommand] private void LoadHistory() { @@ -194,6 +190,7 @@ namespace Flow.Launcher.ViewModel SelectedResults = Results; } } + [RelayCommand] private void LoadContextMenu() { @@ -209,6 +206,7 @@ namespace Flow.Launcher.ViewModel SelectedResults = Results; } } + [RelayCommand] private void Backspace(object index) { @@ -221,6 +219,7 @@ namespace Flow.Launcher.ViewModel ChangeQueryText($"{actionKeyword}{path}"); } + [RelayCommand] private void AutocompleteQuery() { @@ -247,6 +246,7 @@ namespace Flow.Launcher.ViewModel ChangeQueryText(autoCompleteText); } } + [RelayCommand] private async Task OpenResultAsync(string index) { @@ -281,6 +281,7 @@ namespace Flow.Launcher.ViewModel SelectedResults = Results; } } + [RelayCommand] private void OpenSetting() { @@ -298,6 +299,7 @@ namespace Flow.Launcher.ViewModel { SelectedResults.SelectFirstResult(); } + [RelayCommand] private void SelectPrevPage() { @@ -309,11 +311,13 @@ namespace Flow.Launcher.ViewModel { SelectedResults.SelectNextPage(); } + [RelayCommand] private void SelectPrevItem() { SelectedResults.SelectPrevResult(); } + [RelayCommand] private void SelectNextItem() { @@ -333,6 +337,12 @@ namespace Flow.Launcher.ViewModel } } + [RelayCommand] + public void ToggleGameMode() + { + GameModeStatus = !GameModeStatus; + } + #endregion #region ViewModel Properties @@ -361,7 +371,7 @@ namespace Flow.Launcher.ViewModel public ResultsViewModel History { get; private set; } - public bool GameModeStatus { get; set; } + public bool GameModeStatus { get; set; } = false; private string _queryText; public string QueryText @@ -375,7 +385,6 @@ namespace Flow.Launcher.ViewModel } } - [RelayCommand] private void IncreaseWidth() { @@ -513,7 +522,7 @@ namespace Flow.Launcher.ViewModel public string PluginIconPath { get; set; } = null; - public string OpenResultCommandModifiers { get; private set; } + public string OpenResultCommandModifiers => Settings.OpenResultModifiers; public string Image => Constant.QueryTextBoxIconImagePath; @@ -521,6 +530,8 @@ namespace Flow.Launcher.ViewModel #endregion + #region Query + public void Query() { if (SelectedIsFromQueryResults()) @@ -874,12 +885,9 @@ namespace Flow.Launcher.ViewModel return selected; } - #region Hotkey + #endregion - private void SetOpenResultModifiers() - { - OpenResultCommandModifiers = Settings.OpenResultModifiers ?? DefaultOpenResultModifiers; - } + #region Hotkey public void ToggleFlowLauncher() { @@ -934,18 +942,15 @@ namespace Flow.Launcher.ViewModel MainWindowVisibility = Visibility.Collapsed; } - #endregion - - /// /// Checks if Flow Launcher should ignore any hotkeys /// public bool ShouldIgnoreHotkeys() { - return Settings.IgnoreHotkeysOnFullscreen && WindowsInteropHelper.IsWindowFullscreen(); + return Settings.IgnoreHotkeysOnFullscreen && WindowsInteropHelper.IsWindowFullscreen() || GameModeStatus; } - + #endregion #region Public Methods diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml index 331a21742..05e65442b 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml index 0f345f2ce..68695210b 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index 87b897d73..2e83a86d8 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -127,7 +127,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml index 047ecac39..3d2247ff3 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml @@ -114,7 +114,7 @@ Advertencia: No es una opción de orden rápido, las búsquedas pueden ser lentas - Click to Launch or Install Everything + Click to launch or install Everything Instalación de Everything Instalando el servicio de Everything. Por favor, espere... Servicio de Everything instalado correctamente diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml index d6ed3f049..9cf3c7eca 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml index 84cd85a01..dc8e1f329 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml @@ -114,7 +114,7 @@ Attenzione: Questa non è un'opzione di ordinamento rapido, le ricerche potrebbero essere lente - Click to Launch or Install Everything + Click to launch or install Everything Installazione di Everything Installazione di everything. Si prega di attendere... Everything è stato installato con successo diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml index 51bdd0259..16be25bfa 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml index 0d0786447..1a15d52c8 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml index 05c08606c..2a1ea35d8 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml index 6ba8b2c9d..7ff7d2bdb 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml index 7f5253104..3db217cb0 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml index 2afd0a8ab..28a1a7c70 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml index dc14c9b59..53cf015bb 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml index dd797f68a..da6c2a30d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml index 3f5d97e4b..2aab5994e 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... Successfully installed Everything service diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml index c125664f0..003cf42d5 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml @@ -114,7 +114,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Click to Launch or Install Everything + Click to launch or install Everything Everything 安裝程序 正在安裝 Everything 服務,請稍後... 成功安裝 Everything 服務 diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index 3634de792..93a81f947 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -110,6 +110,9 @@ namespace Flow.Launcher.Plugin.Explorer.Search if (e is OperationCanceledException) return results.ToList(); + if (e is EngineNotAvailableException) + throw; + throw new SearchException(engineName, e.Message, e); }