diff options
author | Roopesh Chander <roop@roopc.net> | 2019-01-12 00:20:02 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2019-01-14 14:52:37 +0530 |
commit | 26ea353933bc93e6fd624b0914347de44cff667a (patch) | |
tree | e760c788b4970523e29e5e28c8ea59ff117c5380 /WireGuard/WireGuard/UI | |
parent | macOS: Add app icon (diff) | |
download | wireguard-apple-26ea353933bc93e6fd624b0914347de44cff667a.tar.xz wireguard-apple-26ea353933bc93e6fd624b0914347de44cff667a.zip |
macOS: Add About dialog
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/UI')
-rw-r--r-- | WireGuard/WireGuard/UI/macOS/StatusMenu.swift | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/macOS/StatusMenu.swift b/WireGuard/WireGuard/UI/macOS/StatusMenu.swift index 3a22d25..78e71ba 100644 --- a/WireGuard/WireGuard/UI/macOS/StatusMenu.swift +++ b/WireGuard/WireGuard/UI/macOS/StatusMenu.swift @@ -123,6 +123,9 @@ class StatusMenu: NSMenu { } func addApplicationItems() { + let aboutItem = NSMenuItem(title: tr("macMenuAbout"), action: #selector(aboutClicked), keyEquivalent: "") + aboutItem.target = self + addItem(aboutItem) let quitItem = NSMenuItem(title: tr("macMenuQuit"), action: #selector(NSApplication.terminate), keyEquivalent: "") quitItem.target = NSApp addItem(quitItem) @@ -148,6 +151,21 @@ class StatusMenu: NSMenu { manageTunnelsWindow.makeKeyAndOrderFront(self) ImportPanelPresenter.presentImportPanel(tunnelsManager: tunnelsManager, sourceVC: manageTunnelsRootVC!) } + + @objc func aboutClicked() { + var appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown" + if let appBuild = Bundle.main.infoDictionary?["CFBundleVersion"] as? String { + appVersion += " (\(appBuild))" + } + let appVersionString = [ + tr(format: "macAppVersion (%@)", appVersion), + tr(format: "macGoBackendVersion (%@)", WIREGUARD_GO_VERSION) + ].joined(separator: "\n") + NSApp.orderFrontStandardAboutPanel(options: [ + .applicationVersion: appVersionString, + .version: "" + ]) + } } extension StatusMenu { |