remember columns order

pull/695/head
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.View = System.Windows.Forms.View.Details;
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.SelectedIndexChanged += new System.EventHandler(this.lvServers_SelectedIndexChanged);
this.lvServers.DoubleClick += new System.EventHandler(this.lvServers_DoubleClick);

View File

@ -12,6 +12,7 @@ using System.Diagnostics;
using System.Drawing;
using System.Net;
using System.Threading.Tasks;
using System.Linq;
namespace v2rayN.Forms
{
@ -196,6 +197,13 @@ namespace v2rayN.Forms
lvServers.Columns[EServerColName.totalDown.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();
}
@ -1681,11 +1689,23 @@ namespace v2rayN.Forms
{
ColumnHeader c = lvServers.Columns[e.ColumnIndex];
ConfigHandler.AddformMainLvColWidth(ref config, c.Name, c.Width);
Task.Run(() => ConfigHandler.SaveConfig(ref config));
}
private void MainForm_ResizeEnd(object sender, EventArgs e)
{
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>
</data>
<data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 21</value>
<value>170, 21</value>
</data>
<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>
@ -891,7 +891,7 @@
<value>toolSslBlank2</value>
</data>
<data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 21</value>
<value>170, 21</value>
</data>
<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>
@ -900,7 +900,7 @@
<value>toolSslBlank3</value>
</data>
<data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 21</value>
<value>170, 21</value>
</data>
<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>

View File

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