From 811714e21a637c408d5b149b1af615b785693c83 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 15 Jan 2019 22:35:30 +0100 Subject: [PATCH] macOS: Networks should show allowedIPs and disappear when inactive Signed-off-by: Jason A. Donenfeld --- WireGuard/WireGuard/UI/macOS/StatusMenu.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/WireGuard/WireGuard/UI/macOS/StatusMenu.swift b/WireGuard/WireGuard/UI/macOS/StatusMenu.swift index a2f02d8..fa8b8e4 100644 --- a/WireGuard/WireGuard/UI/macOS/StatusMenu.swift +++ b/WireGuard/WireGuard/UI/macOS/StatusMenu.swift @@ -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 }