remember columns order

This commit is contained in:
YFdyh000 2020-04-18 20:43:25 +08:00
parent 8cf66da07c
commit 46c887537e
4 changed files with 25 additions and 5 deletions

View file

@ -167,6 +167,7 @@
this.lvServers.UseCompatibleStateImageBehavior = false; this.lvServers.UseCompatibleStateImageBehavior = false;
this.lvServers.View = System.Windows.Forms.View.Details; this.lvServers.View = System.Windows.Forms.View.Details;
this.lvServers.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvServers_ColumnClick); this.lvServers.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvServers_ColumnClick);
this.lvServers.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.lvServers_ColumnReordered);
this.lvServers.ColumnWidthChanged += new System.Windows.Forms.ColumnWidthChangedEventHandler(this.lvServers_ColumnWidthChanged); this.lvServers.ColumnWidthChanged += new System.Windows.Forms.ColumnWidthChangedEventHandler(this.lvServers_ColumnWidthChanged);
this.lvServers.SelectedIndexChanged += new System.EventHandler(this.lvServers_SelectedIndexChanged); this.lvServers.SelectedIndexChanged += new System.EventHandler(this.lvServers_SelectedIndexChanged);
this.lvServers.DoubleClick += new System.EventHandler(this.lvServers_DoubleClick); this.lvServers.DoubleClick += new System.EventHandler(this.lvServers_DoubleClick);

View file

@ -12,6 +12,7 @@ using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.Net; using System.Net;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Linq;
namespace v2rayN.Forms namespace v2rayN.Forms
{ {
@ -196,6 +197,13 @@ namespace v2rayN.Forms
lvServers.Columns[EServerColName.totalDown.ToString()].Tag = Global.sortMode.Numeric.ToString(); lvServers.Columns[EServerColName.totalDown.ToString()].Tag = Global.sortMode.Numeric.ToString();
lvServers.Columns[EServerColName.totalUp.ToString()].Tag = Global.sortMode.Numeric.ToString(); lvServers.Columns[EServerColName.totalUp.ToString()].Tag = Global.sortMode.Numeric.ToString();
} }
foreach (ColumnHeader c in lvServers.Columns)
{
if (config.uiItem.mainLvColLayout == null) break;
int i = config.uiItem.mainLvColLayout.IndexOf(c.Name);
if (i >= 0) c.DisplayIndex = i;
}
lvServers.EndUpdate(); lvServers.EndUpdate();
} }
@ -1681,11 +1689,23 @@ namespace v2rayN.Forms
{ {
ColumnHeader c = lvServers.Columns[e.ColumnIndex]; ColumnHeader c = lvServers.Columns[e.ColumnIndex];
ConfigHandler.AddformMainLvColWidth(ref config, c.Name, c.Width); ConfigHandler.AddformMainLvColWidth(ref config, c.Name, c.Width);
Task.Run(() => ConfigHandler.SaveConfig(ref config));
} }
private void MainForm_ResizeEnd(object sender, EventArgs e) private void MainForm_ResizeEnd(object sender, EventArgs e)
{ {
config.uiItem.mainSize = new Size(this.Width, this.Height); config.uiItem.mainSize = new Size(this.Width, this.Height);
Task.Run(() => ConfigHandler.SaveConfig(ref config));
}
private async void lvServers_ColumnReordered(object sender, ColumnReorderedEventArgs e)
{
await Task.Delay(500);
var names = (from col in lvServers.Columns.Cast<ColumnHeader>()
orderby col.DisplayIndex
select col.Name).ToList();
config.uiItem.mainLvColLayout = names;
_ = Task.Run(() => ConfigHandler.SaveConfig(ref config));
} }
} }
} }

View file

@ -882,7 +882,7 @@
<value>toolSslBlank1</value> <value>toolSslBlank1</value>
</data> </data>
<data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 21</value> <value>170, 21</value>
</data> </data>
<data name="&gt;&gt;toolSslBlank1.Type" xml:space="preserve"> <data name="&gt;&gt;toolSslBlank1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -891,7 +891,7 @@
<value>toolSslBlank2</value> <value>toolSslBlank2</value>
</data> </data>
<data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 21</value> <value>170, 21</value>
</data> </data>
<data name="&gt;&gt;toolSslBlank2.Type" xml:space="preserve"> <data name="&gt;&gt;toolSslBlank2.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -900,7 +900,7 @@
<value>toolSslBlank3</value> <value>toolSslBlank3</value>
</data> </data>
<data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 21</value> <value>170, 21</value>
</data> </data>
<data name="&gt;&gt;toolSslBlank3.Type" xml:space="preserve"> <data name="&gt;&gt;toolSslBlank3.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

View file

@ -544,9 +544,8 @@ namespace v2rayN.Mode
[Serializable] [Serializable]
public class UIItem public class UIItem
{ {
public System.Drawing.Size mainSize { get; set; } public System.Drawing.Size mainSize { get; set; }
public Dictionary<string, int> mainLvColWidth { get; set; } public Dictionary<string, int> mainLvColWidth { get; set; }
public List<string> mainLvColLayout { get; set; }
} }
} }