]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
macOS: Networks should show allowedIPs and disappear when inactive
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 15 Jan 2019 21:35:30 +0000 (22:35 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Tue, 15 Jan 2019 21:35:30 +0000 (22:35 +0100)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
WireGuard/WireGuard/UI/macOS/StatusMenu.swift

index a2f02d8cc1c3bc2524f5c9af765ad3c92d47ef9d..fa8b8e4468cba5133870c900d5839934099f60a7 100644 (file)
@@ -63,6 +63,7 @@ class StatusMenu: NSMenu {
         addItem(statusMenuItem)
         let networksMenuItem = NSMenuItem(title: tr("macMenuNetworksInactive"), action: #selector(manageTunnelsClicked), keyEquivalent: "")
         networksMenuItem.isEnabled = false
+        networksMenuItem.isHidden = true
         addItem(networksMenuItem)
         self.statusMenuItem = statusMenuItem
         self.networksMenuItem = networksMenuItem
@@ -98,14 +99,15 @@ class StatusMenu: NSMenu {
 
         if tunnel.status == .inactive {
             networksMenuItem.title = tr("macMenuNetworksInactive")
+            networksMenuItem.isHidden = true
         } else {
-            let addresses = tunnel.tunnelConfiguration?.interface.addresses ?? []
-            let addressesString = addresses.map { $0.stringRepresentation }.joined(separator: ", ")
-            if addressesString.isEmpty {
-                networksMenuItem.title = tr("macMenuNetworksNone")
+            let allowedIPs = tunnel.tunnelConfiguration?.peers.flatMap { $0.allowedIPs }.map { $0.stringRepresentation }.joined(separator: ", ") ?? ""
+            if !allowedIPs.isEmpty {
+                networksMenuItem.title = tr(format: "macMenuNetworks (%@)", allowedIPs)
             } else {
-                networksMenuItem.title = tr(format: "macMenuNetworks (%@)", addressesString)
+                networksMenuItem.title = tr("macMenuNetworksNone")
             }
+            networksMenuItem.isHidden = false
         }
         return true
     }