From 8aa3354b201331c2101c20e9863c4503c744aecf Mon Sep 17 00:00:00 2001 From: bin456789 Date: Tue, 15 Mar 2022 12:52:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E6=8B=96=E5=8A=A8?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=EF=BC=9A=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Forms/MainForm.cs | 77 +++++++++++++++++---------------- 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index c63f27b7..4b413518 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1679,56 +1679,57 @@ namespace v2rayN.Forms { targetIndex++; } - string activeIndexId = ConfigHandler.GetDefaultServer(ref config).indexId; + bool isChanged = false; lvServers.BeginUpdate(); foreach (ListViewItem listItem in lvServers.SelectedItems) { - if (targetIndex == listItem.Index) + if (targetIndex != listItem.Index) { - targetIndex++; - continue; + isChanged = true; + int origIndex = listItem.Index; + bool isFocued = listItem.Focused; + + // 向下移动,删除自身后,targetIndex-1; + if (origIndex < targetIndex) + { + targetIndex--; + } + + + listItem.Remove(); + lvServers.Items.Insert(targetIndex, listItem); + + if (isFocued) + { + listItem.Focused = true; + } } - - int origIndex = listItem.Index; - bool isFocued = listItem.Focused; - - // 向下移动,删除自身后,targetIndex-1; - if (origIndex < targetIndex) - { - targetIndex--; - } - - - listItem.Remove(); - lvServers.Items.Insert(targetIndex, listItem); - - if (isFocued) - { - listItem.Focused = true; - } - - targetIndex++; } - RefillListViewBackColor(lvServers); - lvServers.EndUpdate(); - - for (int i = 0; i < lvServers.Items.Count; i++) + if (isChanged) { - ListViewItem listItem = lvServers.Items[i]; - config.GetVmessItem((string)listItem.Tag).sort = i; + RefillListViewBackColor(lvServers); + + + for (int i = 0; i < lvServers.Items.Count; i++) + { + ListViewItem listItem = lvServers.Items[i]; + config.GetVmessItem((string)listItem.Tag).sort = i; + } + + ConfigHandler.SaveConfig(ref config, false); + + + lstVmess = config.vmess.Where(it => it.groupId == groupId).OrderBy(it => it.sort).ToList(); + //RefreshServersView(); + RefreshServersMenu(); + + //RefreshServers(); } - ConfigHandler.SaveConfig(ref config, false); - - - lstVmess = config.vmess.Where(it => it.groupId == groupId).OrderBy(it => it.sort).ToList(); - //RefreshServersView(); - RefreshServersMenu(); - - //RefreshServers(); + lvServers.EndUpdate(); }