|
|
@@ -1394,10 +1394,12 @@ public partial class DeviceDetailsWindow : Window
|
|
|
private string[] GetGatewayKeys()
|
|
|
{
|
|
|
var keys = new List<string>();
|
|
|
- if (DefaultGatewayEnabled || !string.IsNullOrWhiteSpace(DefaultGateway))
|
|
|
+ keys.Add($"default enabled {DefaultGatewayEnabled}");
|
|
|
+ if (!string.IsNullOrWhiteSpace(DefaultGateway))
|
|
|
{
|
|
|
keys.Add($"default via {DefaultGateway.Trim()}");
|
|
|
}
|
|
|
+ keys.Add($"custom routes enabled {CustomRoutesEnabled}");
|
|
|
if (CustomRoutesEnabled)
|
|
|
{
|
|
|
keys.AddRange(Routes
|
|
|
@@ -1425,7 +1427,25 @@ public partial class DeviceDetailsWindow : Window
|
|
|
|
|
|
private static string FormatGatewaySummary(bool dhcp4, IReadOnlyList<string> keys)
|
|
|
{
|
|
|
- return dhcp4 ? "自动获取" : FormatKeys(keys);
|
|
|
+ if (dhcp4)
|
|
|
+ {
|
|
|
+ return "自动获取";
|
|
|
+ }
|
|
|
+
|
|
|
+ var defaultGatewayEnabled = keys.Contains("default enabled True");
|
|
|
+ var customRoutesEnabled = keys.Contains("custom routes enabled True");
|
|
|
+ var displayItems = new List<string>();
|
|
|
+ if (defaultGatewayEnabled)
|
|
|
+ {
|
|
|
+ var defaultGateway = keys.FirstOrDefault(item => item.StartsWith("default via ", StringComparison.Ordinal));
|
|
|
+ displayItems.Add(defaultGateway is null ? "默认网关已启用(未填写)" : $"默认网关:{defaultGateway[12..]}");
|
|
|
+ }
|
|
|
+ if (customRoutesEnabled)
|
|
|
+ {
|
|
|
+ displayItems.AddRange(keys.Where(item => !item.StartsWith("default ", StringComparison.Ordinal) && !item.StartsWith("custom routes enabled ", StringComparison.Ordinal)));
|
|
|
+ }
|
|
|
+
|
|
|
+ return FormatKeys(displayItems);
|
|
|
}
|
|
|
|
|
|
private void SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = "")
|