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