aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/UI/macOS/StatusMenu.swift
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2019-01-12 00:20:02 +0530
committerRoopesh Chander <roop@roopc.net>2019-01-14 14:52:37 +0530
commit26ea353933bc93e6fd624b0914347de44cff667a (patch)
treee760c788b4970523e29e5e28c8ea59ff117c5380 /WireGuard/WireGuard/UI/macOS/StatusMenu.swift
parentmacOS: Add app icon (diff)
downloadwireguard-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/macOS/StatusMenu.swift')
-rw-r--r--WireGuard/WireGuard/UI/macOS/StatusMenu.swift18
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 {