simplify again & store Tag for sort

pull/695/head
YFdyh000 2020-04-18 16:23:16 +08:00
parent 301d1dd998
commit 0a8e822f35
1 changed files with 39 additions and 37 deletions

View File

@ -119,7 +119,9 @@ namespace v2rayN.Forms
// break; // break;
// } // }
//} //}
#endregion
#region 窗口大小和列宽等取/存
private void RestoreUI() private void RestoreUI()
{ {
scMain.Panel2Collapsed = true; scMain.Panel2Collapsed = true;
@ -130,10 +132,10 @@ namespace v2rayN.Forms
this.Height = config.uiItem.mainSize.Height; this.Height = config.uiItem.mainSize.Height;
} }
for (int k = 0; k < lvServers.Columns.Count; k++) foreach (ColumnHeader c in lvServers.Columns)
{ {
var width = ConfigHandler.GetformMainLvColWidth(ref config, ((EServerColName)k).ToString(), lvServers.Columns[k].Width); var width = ConfigHandler.GetformMainLvColWidth(ref config, c.Name, c.Width);
lvServers.Columns[k].Width = width; c.Width = width;
} }
} }
@ -141,9 +143,9 @@ namespace v2rayN.Forms
{ {
config.uiItem.mainSize = new Size(this.Width, this.Height); config.uiItem.mainSize = new Size(this.Width, this.Height);
for (int k = 0; k < lvServers.Columns.Count; k++) foreach (ColumnHeader c in lvServers.Columns)
{ {
ConfigHandler.AddformMainLvColWidth(ref config, ((EServerColName)k).ToString(), lvServers.Columns[k].Width); ConfigHandler.AddformMainLvColWidth(ref config, c.Name, c.Width);
} }
} }
@ -169,22 +171,22 @@ namespace v2rayN.Forms
lvServers.BeginUpdate(); lvServers.BeginUpdate();
lvServers.Items.Clear(); lvServers.Items.Clear();
lvServers.Columns.Add("", 30); lvServers.Columns.Add(EServerColName.def.ToString(), "", 30);
lvServers.Columns.Add(UIRes.I18N("LvServiceType"), 80); lvServers.Columns.Add(EServerColName.type.ToString(), UIRes.I18N("LvServiceType"), 80);
lvServers.Columns.Add(UIRes.I18N("LvAlias"), 100); lvServers.Columns.Add(EServerColName.remarks.ToString(), UIRes.I18N("LvAlias"), 100);
lvServers.Columns.Add(UIRes.I18N("LvAddress"), 120); lvServers.Columns.Add(EServerColName.address.ToString(), UIRes.I18N("LvAddress"), 120);
lvServers.Columns.Add(UIRes.I18N("LvPort"), 50); lvServers.Columns.Add(EServerColName.port.ToString(), UIRes.I18N("LvPort"), 50);
lvServers.Columns.Add(UIRes.I18N("LvEncryptionMethod"), 90); lvServers.Columns.Add(EServerColName.security.ToString(), UIRes.I18N("LvEncryptionMethod"), 90);
lvServers.Columns.Add(UIRes.I18N("LvTransportProtocol"), 70); lvServers.Columns.Add(EServerColName.network.ToString(), UIRes.I18N("LvTransportProtocol"), 70);
lvServers.Columns.Add(UIRes.I18N("LvSubscription"), 50); lvServers.Columns.Add(EServerColName.subRemarks.ToString(), UIRes.I18N("LvSubscription"), 50);
lvServers.Columns.Add(UIRes.I18N("LvTestResults"), 70); lvServers.Columns.Add(EServerColName.testResult.ToString(), UIRes.I18N("LvTestResults"), 70);
if (statistics != null && statistics.Enable) if (statistics != null && statistics.Enable)
{ {
lvServers.Columns.Add(UIRes.I18N("LvTodayDownloadDataAmount"), 70); lvServers.Columns.Add(EServerColName.todayDown.ToString(), UIRes.I18N("LvTodayDownloadDataAmount"), 70);
lvServers.Columns.Add(UIRes.I18N("LvTodayUploadDataAmount"), 70); lvServers.Columns.Add(EServerColName.todayUp.ToString(), UIRes.I18N("LvTodayUploadDataAmount"), 70);
lvServers.Columns.Add(UIRes.I18N("LvTotalDownloadDataAmount"), 70); lvServers.Columns.Add(EServerColName.totalDown.ToString(), UIRes.I18N("LvTotalDownloadDataAmount"), 70);
lvServers.Columns.Add(UIRes.I18N("LvTotalUploadDataAmount"), 70); lvServers.Columns.Add(EServerColName.totalUp.ToString(), UIRes.I18N("LvTotalUploadDataAmount"), 70);
} }
lvServers.EndUpdate(); lvServers.EndUpdate();
} }
@ -211,10 +213,23 @@ namespace v2rayN.Forms
VmessItem item = config.vmess[k]; VmessItem item = config.vmess[k];
void _addSubItem(ListViewItem i, string name, string text) void _addSubItem(ListViewItem i, string name, string text, object tag = null)
{ {
i.SubItems.Add(new ListViewItem.ListViewSubItem() { Name = name, Text = text }); var n = new ListViewItem.ListViewSubItem() { Text = text };
n.Name = name; // new don't accept it.
n.Tag = tag;
i.SubItems.Add(n);
} }
ListViewItem lvItem = new ListViewItem(def);
lvItem.Tag = k; // the Tag of items is config's index.
_addSubItem(lvItem, EServerColName.type.ToString(), ((EConfigType)item.configType).ToString());
_addSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
_addSubItem(lvItem, EServerColName.address.ToString(), item.address);
_addSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
_addSubItem(lvItem, EServerColName.security.ToString(), item.security);
_addSubItem(lvItem, EServerColName.network.ToString(), item.network);
_addSubItem(lvItem, EServerColName.subRemarks.ToString(), item.getSubRemarks(config));
_addSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
bool stats = statistics != null && statistics.Enable; bool stats = statistics != null && statistics.Enable;
if (stats) if (stats)
{ {
@ -226,23 +241,10 @@ namespace v2rayN.Forms
todayUp = Utils.HumanFy(sItem.todayUp); todayUp = Utils.HumanFy(sItem.todayUp);
todayDown = Utils.HumanFy(sItem.todayDown); todayDown = Utils.HumanFy(sItem.todayDown);
} }
} _addSubItem(lvItem, EServerColName.todayDown.ToString(), todayDown, sItem.todayDown);
ListViewItem lvItem = new ListViewItem(def); _addSubItem(lvItem, EServerColName.todayUp.ToString(), todayUp, sItem.todayUp);
lvItem.Tag = k; _addSubItem(lvItem, EServerColName.totalDown.ToString(), totalDown, sItem.totalDown);
_addSubItem(lvItem, EServerColName.type.ToString(), ((EConfigType)item.configType).ToString()); _addSubItem(lvItem, EServerColName.totalUp.ToString(), totalUp, sItem.totalUp);
_addSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
_addSubItem(lvItem, EServerColName.address.ToString(), item.address);
_addSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
_addSubItem(lvItem, EServerColName.security.ToString(), item.security);
_addSubItem(lvItem, EServerColName.network.ToString(), item.network);
_addSubItem(lvItem, EServerColName.subRemarks.ToString(), item.getSubRemarks(config));
_addSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
if (stats)
{
_addSubItem(lvItem, EServerColName.todayDown.ToString(), todayDown);
_addSubItem(lvItem, EServerColName.todayUp.ToString(), todayUp);
_addSubItem(lvItem, EServerColName.totalDown.ToString(), totalDown);
_addSubItem(lvItem, EServerColName.totalUp.ToString(), totalUp);
} }
if (config.interlaceColoring && k % 2 == 1) // 隔行着色 if (config.interlaceColoring && k % 2 == 1) // 隔行着色