diff --git a/ZeroTier One/Network.swift b/ZeroTier One/Network.swift
index 2e66ac8e1..b344b6c21 100644
--- a/ZeroTier One/Network.swift
+++ b/ZeroTier One/Network.swift
@@ -260,3 +260,13 @@ class Network: NSObject, NSCoding {
aCoder.encodeBool(self.allowDefault, forKey: PropertyKeys.allowDefaultKey)
}
}
+
+func defaultRouteExists(netList: [Network]) -> Bool {
+ for net in netList {
+ if net.allowDefault {
+ return true
+ }
+ }
+
+ return false
+}
diff --git a/ZeroTier One/NetworkInfoCell.swift b/ZeroTier One/NetworkInfoCell.swift
index c31fcb912..427bdc84a 100644
--- a/ZeroTier One/NetworkInfoCell.swift
+++ b/ZeroTier One/NetworkInfoCell.swift
@@ -24,6 +24,10 @@ class NetworkInfoCell: NSTableCellView {
@IBOutlet var deviceField: NSTextField!
@IBOutlet var addressesField: NSTextField!
+ @IBOutlet var allowManaged: NSButton!
+ @IBOutlet var allowGlobal: NSButton!
+ @IBOutlet var allowDefault: NSButton!
+
@IBOutlet var connectedCheckbox: NSButton!
@IBOutlet var deleteButton: NSButton!
diff --git a/ZeroTier One/ShowNetworksViewController.swift b/ZeroTier One/ShowNetworksViewController.swift
index e8b9e332e..250cc73a0 100644
--- a/ZeroTier One/ShowNetworksViewController.swift
+++ b/ZeroTier One/ShowNetworksViewController.swift
@@ -77,6 +77,23 @@ class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTable
cell.deviceField.stringValue = network.portDeviceName
+ if network.allowDefault {
+ cell.allowDefault.state = NSOnState
+ }
+ else {
+ cell.allowDefault.state = NSOffState
+
+ if defaultRouteExists(networkList) {
+ cell.allowDefault.enabled = false
+ }
+ else {
+ cell.allowDefault.enabled = true
+ }
+ }
+
+ cell.allowGlobal.state = (network.allowGlobal ? NSOnState : NSOffState)
+ cell.allowManaged.state = (network.allowManaged ? NSOnState : NSOffState)
+
cell.addressesField.stringValue = ""
for nw in network.assignedAddresses {
diff --git a/ZeroTier One/ShowNetworksViewController.xib b/ZeroTier One/ShowNetworksViewController.xib
index 69120fc96..74582eb69 100644
--- a/ZeroTier One/ShowNetworksViewController.xib
+++ b/ZeroTier One/ShowNetworksViewController.xib
@@ -16,13 +16,13 @@
-
+
-
+
@@ -43,83 +43,75 @@
-
+
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -127,71 +119,15 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+