Update On Wed Jan 1 19:33:26 CET 2025

This commit is contained in:
github-action[bot]
2025-01-01 19:33:26 +01:00
parent a3e7f86215
commit 6f8b17fad6
96 changed files with 1480 additions and 681 deletions
@@ -670,18 +670,43 @@ namespace Shadowsocks.View
// user wants a seperator item between strategy and servers menugroup
items.Add(strategyCount++, new MenuItem("-"));
int maxCount = 20;
int serverCount = 0;
bool overflow = false;
bool needAdd = true;
Configuration configuration = controller.GetCurrentConfiguration();
foreach (var server in configuration.configs)
for (int i = 0; i < configuration.configs.Count; i++)
{
try
{
Configuration.CheckServer(server);
MenuItem item = new MenuItem(server.ToString());
item.Tag = configuration.configs.FindIndex(s => s == server);
item.Click += AServerItem_Click;
items.Add(strategyCount + serverCount, item);
serverCount++;
if (overflow)
{
needAdd = configuration.index >= i;
if (needAdd)
{
i = configuration.index;
}
}
if (needAdd)
{
var server = configuration.configs[i];
Configuration.CheckServer(server);
var item = new MenuItem(server.ToString());
item.Tag = i;
item.Click += AServerItem_Click;
items.Add(strategyCount + serverCount, item);
serverCount++;
}
if (overflow)
{
items.Add(strategyCount + serverCount, new MenuItem($"... more than {maxCount} (total {configuration.configs.Count})", Config_Click));
break;
}
overflow = serverCount > maxCount;
}
catch
{