修改V2rayN 节点列表 右键菜单 清空速度测试结果 清空延迟测试结果

需求

节点列表数量比较多, 很些节点的测试结果已经旧了, 没有可参考性, 但是又不想重新测试, 只是想把测试结果清空.

思路

相当于在原有的测试功能的流程上, 不执行实际的测试动作, 直接填写空白的测试结果.

具体实践

安装 Microsoft Visual Studio

在 Microsoft Store 里有

https://apps.microsoft.com/store/detail/XPDCFJDKLZJLP8

安装组件选 .NET 桌面开发


下载源码

https://github.com/2dust/v2rayN


解压, 进入 v2ray-master 目录, 进入 v2rayN 目录, 打开 .sln 文件.


添加文字资源

打开资源文件

添加英文资源

menuClearDelayResult  Clear Delay Result
menuClearSpeedResult  Clear Speed Result

添加中文资源

在右键菜单中添加菜单项

打开主窗口设计文件

在左边的文档大纲找到 lstProfiles 元素
可以通过眼睛图标的开关, 再观察窗口设计预览的效果, 来确定我们找对了.

我们转到 XAML 文件窗口, 查看 lstProfiles 

往下滚动一点, 找到 .ContextMenu
这就是右键菜单了.

我们在"按测试结果排序"菜单项下面添加新菜单项


仿照已有的格式, 资源ID要使用前面步骤中定义的.
<MenuItem
    x:Name="menuClearDelayResult"
    Height="{StaticResource MenuItemHeight}"
    Header="{x:Static resx:ResUI.menuClearDelayResult}" />
<MenuItem
    x:Name="menuClearSpeedResult"
    Height="{StaticResource MenuItemHeight}"
    Header="{x:Static resx:ResUI.menuClearSpeedResult}" />

保存, 编译, 开始调试(或执行). 

用菜单也可以, 用快捷键也可以, 用快捷按钮也可以.

测试一下右键菜单, 效果与预期一致, 新的菜单项显示出来了.

添加菜单项对应的执行函数

搜索一下 menuSortServerResult 来参考已有的实现

我们照着样子, 给我们的菜单项添加

// 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);

当然 xxxxCmd 也是要添加的, 照样搜原来的实现 SortServerResultCmd

照着样子添加

// clear server test result
public ReactiveCommand<Unit, Unit> ClearDelayResultCmd { get; }
public ReactiveCommand<Unit, Unit> ClearSpeedResultCmd { get; }
//clear server test result
ClearDelayResultCmd = ReactiveCommand.Create(() =>
{
    ServerSpeedtest(ESpeedActionType.ClearDelay);
}, canEditRemove);
ClearSpeedResultCmd = ReactiveCommand.Create(() =>
{
    ServerSpeedtest(ESpeedActionType.ClearSpeed);
}, canEditRemove);

增加 ESpeedActionType 的枚举定义

修改代码来具体实现效果

通过代码阅读, 查看 ServerSpeedtest 函数的实现, 再找到 SpeedtestHandler .

具体修改方案就是:
编译, 测试, 效果符合预期.

如果你一定要留空, 不要这种填充预填充字符的效果的话, 把上面最后的修改处 稍微调整一下就行. 

=======

评论

The Hot3 in Last 30 Days

RackNerd VPS搭V2Ray WSS梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存