From b8959c8f126865becb34ae745c1c6dfa7cc97d0a Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Wed, 12 Apr 2023 11:34:42 +0800 Subject: [PATCH] Optimize server filter --- v2rayN/v2rayN/Resx/ResUI.Designer.cs | 2 +- v2rayN/v2rayN/Resx/ResUI.resx | 2 +- v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx | 2 +- v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs | 7 +++++-- v2rayN/v2rayN/Views/MainWindow.xaml | 1 + v2rayN/v2rayN/Views/MainWindow.xaml.cs | 10 +++++++++- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index 0b1551fe..66cd743a 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -1411,7 +1411,7 @@ namespace v2rayN.Resx { } /// - /// 查找类似 Servers Filter 的本地化字符串。 + /// 查找类似 Servers Filter, press Enter to execute 的本地化字符串。 /// public static string MsgServerTitle { get { diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 2fa0683d..d5b3f535 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -434,7 +434,7 @@ Local - Servers Filter + Servers Filter, press Enter to execute Check Update diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index 667399a8..6b8ecd74 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -434,7 +434,7 @@ 本地 - 服务器过滤器 + 服务器过滤器,按回车执行 检查更新 diff --git a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs index e7cc6376..c29ca041 100644 --- a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs @@ -718,10 +718,13 @@ namespace v2rayN.ViewModels return; } _serverFilter = ServerFilter; - RefreshServers(); + if (Utils.IsNullOrEmpty(_serverFilter)) + { + RefreshServers(); + } } - private void RefreshServers() + public void RefreshServers() { List lstModel = LazyConfig.Instance.ProfileItems(_subId, _serverFilter); diff --git a/v2rayN/v2rayN/Views/MainWindow.xaml b/v2rayN/v2rayN/Views/MainWindow.xaml index 1f2bd465..db74dc3d 100644 --- a/v2rayN/v2rayN/Views/MainWindow.xaml +++ b/v2rayN/v2rayN/Views/MainWindow.xaml @@ -499,6 +499,7 @@ GridLinesVisibility="All" HeadersVisibility="All" IsReadOnly="True" + RowHeaderWidth="40" Style="{StaticResource DefDataGrid}"> diff --git a/v2rayN/v2rayN/Views/MainWindow.xaml.cs b/v2rayN/v2rayN/Views/MainWindow.xaml.cs index 0d0b730e..78006170 100644 --- a/v2rayN/v2rayN/Views/MainWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/MainWindow.xaml.cs @@ -30,10 +30,10 @@ namespace v2rayN.Views this.Closing += MainWindow_Closing; this.PreviewKeyDown += MainWindow_PreviewKeyDown; btnAutofitColumnWidth.Click += BtnAutofitColumnWidth_Click; + txtServerFilter.PreviewKeyDown += TxtServerFilter_PreviewKeyDown; lstProfiles.PreviewKeyDown += LstProfiles_PreviewKeyDown; lstProfiles.SelectionChanged += lstProfiles_SelectionChanged; lstProfiles.LoadingRow += LstProfiles_LoadingRow; - lstProfiles.RowHeaderWidth = 30; if (_config.uiItem.enableDragDropSort) { lstProfiles.AllowDrop = true; @@ -408,6 +408,14 @@ namespace v2rayN.Views it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); } } + + private void TxtServerFilter_PreviewKeyDown(object sender, KeyEventArgs e) + { + if (e.Key is Key.Enter or Key.Return) + { + ViewModel?.RefreshServers(); + } + } #endregion #region UI