Merge branch '2dust:master' into master

pull/2510/head
InterestingDarkness 2022-07-29 21:10:59 +08:00 committed by GitHub
commit ab34d3fe30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 39 additions and 3 deletions

View File

@ -93,5 +93,20 @@ namespace v2rayN.Base
DoDragDrop(e.Item, DragDropEffects.Move);
InsertionMark.Index = -1;
}
public void SetScrollPosition(int pos)
{
pos = Math.Min(Items.Count - 1, pos);
if (pos < 0 || pos >= Items.Count)
return;
EnsureVisible(pos);
for (int i = 0; i < 10; i++)
{
if (TopItem != null && TopItem.Index != pos)
TopItem = Items[pos];
}
}
}
}

View File

@ -87,6 +87,12 @@ namespace v2rayN.Forms
MainFormHandler.Instance.RegisterGlobalHotkey(config, OnHotkeyHandler, UpdateTaskHandler);
_ = LoadV2ray();
if (!Utils.CheckForDotNetVersion())
{
UI.ShowWarning(ResUI.NetFrameworkRequirementsTip);
AppendText(false, ResUI.NetFrameworkRequirementsTip);
}
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
@ -340,7 +346,7 @@ namespace v2rayN.Forms
if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0)
{
lvServers.Items[index].Selected = true;
lvServers.EnsureVisible(index); // workaround
lvServers.SetScrollPosition(index);
}
}
@ -1139,7 +1145,7 @@ namespace v2rayN.Forms
if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0)
{
lvServers.Items[index].Selected = true;
lvServers.EnsureVisible(index); // workaround
lvServers.SetScrollPosition(index);
}
SetVisibleCore(true);

View File

@ -708,6 +708,15 @@ namespace v2rayN.Resx {
}
}
/// <summary>
/// 查找类似 Normal use of this version requires .NET Framework 4.8 的本地化字符串。
/// </summary>
internal static string NetFrameworkRequirementsTip {
get {
return ResourceManager.GetString("NetFrameworkRequirementsTip", resourceCulture);
}
}
/// <summary>
/// 查找类似 Non-VMess or ss protocol 的本地化字符串。
/// </summary>

View File

@ -472,4 +472,7 @@
<data name="MsgServerTitle" xml:space="preserve">
<value>Servers (Filter : {0})</value>
</data>
<data name="NetFrameworkRequirementsTip" xml:space="preserve">
<value>Normal use of this version requires .NET Framework 4.8</value>
</data>
</root>

View File

@ -472,4 +472,7 @@
<data name="MsgServerTitle" xml:space="preserve">
<value>服务器 (过滤器 : {0})</value>
</data>
<data name="NetFrameworkRequirementsTip" xml:space="preserve">
<value>正常使用此版本需要.NET Framework 4.8,请更新后重启</value>
</data>
</root>

View File

@ -694,7 +694,7 @@ namespace v2rayN
/// </summary>
/// <param name="release">需要的版本4.6.2=394802;4.8=528040</param>
/// <returns></returns>
public static bool GetDotNetRelease(int release)
public static bool CheckForDotNetVersion(int release = 528040)
{
const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))