mirror of https://github.com/2dust/v2rayN
sort2
parent
fedfed4028
commit
0db772aaeb
|
@ -239,7 +239,7 @@ namespace v2rayN.Forms
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ListViewItem lvItem = new ListViewItem(def);
|
ListViewItem lvItem = new ListViewItem(def);
|
||||||
_addSubItem(lvItem, EServerColName.type.ToString(), ((EConfigType)item.configType).ToString());
|
_addSubItem(lvItem, EServerColName.configType.ToString(), ((EConfigType)item.configType).ToString());
|
||||||
_addSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
|
_addSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
|
||||||
_addSubItem(lvItem, EServerColName.address.ToString(), item.address);
|
_addSubItem(lvItem, EServerColName.address.ToString(), item.address);
|
||||||
_addSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
|
_addSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
|
||||||
|
@ -377,6 +377,35 @@ namespace v2rayN.Forms
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void lvServers_ColumnClick(object sender, ColumnClickEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Column < 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var tag = lvServers.Columns[e.Column].Tag?.ToString();
|
||||||
|
bool asc = Utils.IsNullOrEmpty(tag) ? true : !Convert.ToBoolean(tag);
|
||||||
|
if (ConfigHandler.SortServers(ref config, (EServerColName)e.Column, asc) != 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lvServers.Columns[e.Column].Tag = Convert.ToString(asc);
|
||||||
|
RefreshServers();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog(ex.Message, ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.Column < 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region v2ray 操作
|
#region v2ray 操作
|
||||||
|
@ -1566,19 +1595,5 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void lvServers_ColumnClick(object sender, ColumnClickEventArgs e)
|
|
||||||
{
|
|
||||||
if (e.Column < 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//use linq
|
|
||||||
//var temp = config.vmess.AsQueryable();
|
|
||||||
|
|
||||||
//QueryableExtension
|
|
||||||
//temp.OrderBy("Code");
|
|
||||||
|
|
||||||
// temp.OrderByDescending("Code");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,8 @@ using System.IO;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
using v2rayN.Base;
|
using v2rayN.Base;
|
||||||
|
using System.Linq;
|
||||||
|
using v2rayN.Tool;
|
||||||
|
|
||||||
namespace v2rayN.Handler
|
namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
|
@ -922,5 +924,38 @@ namespace v2rayN.Handler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int SortServers(ref Config config, EServerColName name, bool asc)
|
||||||
|
{
|
||||||
|
if (config.vmess.Count <= 0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
switch (name)
|
||||||
|
{
|
||||||
|
case EServerColName.configType:
|
||||||
|
case EServerColName.remarks:
|
||||||
|
case EServerColName.address:
|
||||||
|
case EServerColName.port:
|
||||||
|
case EServerColName.security:
|
||||||
|
case EServerColName.network:
|
||||||
|
case EServerColName.testResult:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
var items = config.vmess.AsQueryable();
|
||||||
|
|
||||||
|
if (asc)
|
||||||
|
{
|
||||||
|
config.vmess = items.OrderBy(name.ToString()).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
config.vmess = items.OrderByDescending(name.ToString()).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
ToJsonFile(config);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ namespace v2rayN.Mode
|
||||||
public enum EServerColName
|
public enum EServerColName
|
||||||
{
|
{
|
||||||
def = 0,
|
def = 0,
|
||||||
type,
|
configType,
|
||||||
remarks,
|
remarks,
|
||||||
address,
|
address,
|
||||||
port,
|
port,
|
||||||
|
|
Loading…
Reference in New Issue