diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs index bb1d3b66..a897f6ae 100644 --- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs +++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs @@ -54,11 +54,13 @@ namespace v2rayN.Handler case ESpeedActionType.Ping: case ESpeedActionType.Tcping: case ESpeedActionType.Realping: + case ESpeedActionType.ClearDelay: UpdateFunc(it.indexId, ResUI.Speedtesting, ""); ProfileExHandler.Instance.SetTestDelay(it.indexId, "0"); break; case ESpeedActionType.Speedtest: + case ESpeedActionType.ClearSpeed: UpdateFunc(it.indexId, "", ResUI.SpeedtestingWait); ProfileExHandler.Instance.SetTestSpeed(it.indexId, "0"); break; diff --git a/v2rayN/v2rayN/Mode/ESpeedActionType.cs b/v2rayN/v2rayN/Mode/ESpeedActionType.cs index 4864061b..ebbaa0a7 100644 --- a/v2rayN/v2rayN/Mode/ESpeedActionType.cs +++ b/v2rayN/v2rayN/Mode/ESpeedActionType.cs @@ -6,6 +6,8 @@ Tcping, Realping, Speedtest, - Mixedtest + Mixedtest, + ClearDelay, + ClearSpeed } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index 576ff1a3..d270361e 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -663,6 +663,15 @@ namespace v2rayN.Resx { } } + /// + /// 查找类似 Clear Delay Result 的本地化字符串。 + /// + public static string menuClearDelayResult { + get { + return ResourceManager.GetString("menuClearDelayResult", resourceCulture); + } + } + /// /// 查找类似 Clear all service statistics 的本地化字符串。 /// @@ -672,6 +681,15 @@ namespace v2rayN.Resx { } } + /// + /// 查找类似 Clear Speed Result 的本地化字符串。 + /// + public static string menuClearSpeedResult { + get { + return ResourceManager.GetString("menuClearSpeedResult", resourceCulture); + } + } + /// /// 查找类似 Close 的本地化字符串。 /// diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 0f500264..40417e2b 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -1138,4 +1138,10 @@ Domain + + Clear Delay Result + + + Clear Speed Result + \ No newline at end of file diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index 787d3023..d38968ac 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -1135,4 +1135,10 @@ IP 或 IP CIDR + + 清除延时测试结果 + + + 清除速度测试结果 + \ No newline at end of file diff --git a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs index 0588564f..1c844cd2 100644 --- a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs @@ -118,6 +118,10 @@ namespace v2rayN.ViewModels public ReactiveCommand SpeedServerCmd { get; } public ReactiveCommand SortServerResultCmd { get; } + // clear server test result + public ReactiveCommand ClearDelayResultCmd { get; } + public ReactiveCommand ClearSpeedResultCmd { get; } + //servers export public ReactiveCommand Export2ClientConfigCmd { get; } @@ -417,6 +421,15 @@ namespace v2rayN.ViewModels { SortServer(EServerColName.delayVal.ToString()); }); + //clear server test result + ClearDelayResultCmd = ReactiveCommand.Create(() => + { + ServerSpeedtest(ESpeedActionType.ClearDelay); + }, canEditRemove); + ClearSpeedResultCmd = ReactiveCommand.Create(() => + { + ServerSpeedtest(ESpeedActionType.ClearSpeed); + }, canEditRemove); //servers export Export2ClientConfigCmd = ReactiveCommand.Create(() => { diff --git a/v2rayN/v2rayN/Views/MainWindow.xaml b/v2rayN/v2rayN/Views/MainWindow.xaml index c5340340..90936a31 100644 --- a/v2rayN/v2rayN/Views/MainWindow.xaml +++ b/v2rayN/v2rayN/Views/MainWindow.xaml @@ -577,6 +577,14 @@ x:Name="menuSortServerResult" Height="{StaticResource MenuItemHeight}" Header="{x:Static resx:ResUI.menuSortServerResult}" /> + + vm.SpeedServerCmd, v => v.menuSpeedServer).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SortServerResultCmd, v => v.menuSortServerResult).DisposeWith(disposables); + // clear server test result + this.BindCommand(ViewModel, vm => vm.ClearDelayResultCmd, v => v.menuClearDelayResult).DisposeWith(disposables); + this.BindCommand(ViewModel, vm => vm.ClearSpeedResultCmd, v => v.menuClearSpeedResult).DisposeWith(disposables); + //servers export this.BindCommand(ViewModel, vm => vm.Export2ClientConfigCmd, v => v.menuExport2ClientConfig).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.Export2ShareUrlCmd, v => v.menuExport2ShareUrl).DisposeWith(disposables);