From: Brook Q <brook.qin@gmail.com>
To: wireguard@lists.zx2c4.com
Cc: Brook Q <brook.qin@gmail.com>
Subject: [PATCH 1/1] UI: macOS: move tunnel peers ip to submenus
Date: Wed, 6 Apr 2022 16:01:10 +0800 [thread overview]
Message-ID: <20220406080110.8705-2-brook.qin@gmail.com> (raw)
In-Reply-To: <20220406080110.8705-1-brook.qin@gmail.com>
Sometimes allowdIPs as a string is too long as menu title, maybe convert to submenu list is better.
---
Sources/WireGuardApp/Base.lproj/Localizable.strings | 1 +
| 13 ++++++++++---
Sources/WireGuardApp/de.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/fa.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/fi.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/fr.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/it.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/ja.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/pa.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/pl.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/ro.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/ru.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/sl.lproj/Localizable.strings | 1 +
Sources/WireGuardApp/tr.lproj/Localizable.strings | 1 +
.../WireGuardApp/zh-Hans.lproj/Localizable.strings | 1 +
.../WireGuardApp/zh-Hant.lproj/Localizable.strings | 1 +
16 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/Sources/WireGuardApp/Base.lproj/Localizable.strings b/Sources/WireGuardApp/Base.lproj/Localizable.strings
index 40023ec..3db7659 100644
--- a/Sources/WireGuardApp/Base.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/Base.lproj/Localizable.strings
@@ -301,6 +301,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Networks";
"macMenuNetworks (%@)" = "Networks: %@";
"macMenuNetworksNone" = "Networks: None";
--git a/Sources/WireGuardApp/UI/macOS/StatusMenu.swift b/Sources/WireGuardApp/UI/macOS/StatusMenu.swift
index 6cd00a4..b74877d 100644
--- a/Sources/WireGuardApp/UI/macOS/StatusMenu.swift
+++ b/Sources/WireGuardApp/UI/macOS/StatusMenu.swift
@@ -107,12 +107,19 @@ class StatusMenu: NSMenu {
networksMenuItem.title = ""
networksMenuItem.isHidden = true
} else {
- let allowedIPs = tunnel.tunnelConfiguration?.peers.flatMap { $0.allowedIPs }.map { $0.stringRepresentation }.joined(separator: ", ") ?? ""
- if !allowedIPs.isEmpty {
- networksMenuItem.title = tr(format: "macMenuNetworks (%@)", allowedIPs)
+ networksMenuItem.submenu?.items.removeAll()
+ let allowedIPs = tunnel.tunnelConfiguration?.peers.flatMap { $0.allowedIPs }.map { $0.stringRepresentation } ?? []
+ if allowedIPs.count > 0 {
+ networksMenuItem.title = tr("macMenuNetworks")
+ allowedIPs.forEach { ip in
+ let networkSubItem = NSMenuItem(title: ip, action: nil, keyEquivalent: "")
+ networkSubItem.isEnabled = false
+ networksMenuItem.submenu?.addItem(networkSubItem)
+ }
} else {
networksMenuItem.title = tr("macMenuNetworksNone")
}
+ networksMenuItem.isEnabled = (networksMenuItem.submenu?.items.count ?? 0) > 0
networksMenuItem.isHidden = false
}
deactivateMenuItem.isHidden = tunnel.status != .active
diff --git a/Sources/WireGuardApp/de.lproj/Localizable.strings b/Sources/WireGuardApp/de.lproj/Localizable.strings
index ffcb429..2f0ee1d 100644
--- a/Sources/WireGuardApp/de.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/de.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Netzwerke";
"macMenuNetworks (%@)" = "Netzwerke:%@";
"macMenuNetworksNone" = "Keine Netzwerke.";
diff --git a/Sources/WireGuardApp/fa.lproj/Localizable.strings b/Sources/WireGuardApp/fa.lproj/Localizable.strings
index 43bd393..6cfda75 100644
--- a/Sources/WireGuardApp/fa.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/fa.lproj/Localizable.strings
@@ -235,6 +235,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "شبکهها";
"macMenuNetworks (%@)" = "شبکهها: %@";
"macMenuNetworksNone" = "شبکهها: هیچی";
diff --git a/Sources/WireGuardApp/fi.lproj/Localizable.strings b/Sources/WireGuardApp/fi.lproj/Localizable.strings
index b359675..6600f3c 100644
--- a/Sources/WireGuardApp/fi.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/fi.lproj/Localizable.strings
@@ -244,6 +244,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Verkot";
"macMenuNetworks (%@)" = "Verkot: %@";
"macMenuNetworksNone" = "Verkot: Ei mitään";
diff --git a/Sources/WireGuardApp/fr.lproj/Localizable.strings b/Sources/WireGuardApp/fr.lproj/Localizable.strings
index aeeed29..335d061 100644
--- a/Sources/WireGuardApp/fr.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/fr.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Réseaux";
"macMenuNetworks (%@)" = "Réseaux: %@";
"macMenuNetworksNone" = "Réseaux: Aucun";
diff --git a/Sources/WireGuardApp/it.lproj/Localizable.strings b/Sources/WireGuardApp/it.lproj/Localizable.strings
index 68acfc2..14a74c6 100644
--- a/Sources/WireGuardApp/it.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/it.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Reti";
"macMenuNetworks (%@)" = "Reti: %@";
"macMenuNetworksNone" = "Reti: nessuna";
diff --git a/Sources/WireGuardApp/ja.lproj/Localizable.strings b/Sources/WireGuardApp/ja.lproj/Localizable.strings
index be5d30b..c729a88 100644
--- a/Sources/WireGuardApp/ja.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/ja.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "ネットワーク";
"macMenuNetworks (%@)" = "ネットワーク: %@";
"macMenuNetworksNone" = "ネットワーク: なし";
diff --git a/Sources/WireGuardApp/pa.lproj/Localizable.strings b/Sources/WireGuardApp/pa.lproj/Localizable.strings
index 54cef5f..76dbc64 100644
--- a/Sources/WireGuardApp/pa.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/pa.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "ਨੈੱਟਵਰਕ";
"macMenuNetworks (%@)" = "ਨੈੱਟਵਰਕ: %@";
"macMenuNetworksNone" = "ਨੈੱਟਵਰਕ: ਕੋਈ ਨਹੀਂ";
diff --git a/Sources/WireGuardApp/pl.lproj/Localizable.strings b/Sources/WireGuardApp/pl.lproj/Localizable.strings
index 550344a..dddca13 100644
--- a/Sources/WireGuardApp/pl.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/pl.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Sieci";
"macMenuNetworks (%@)" = "Sieci: %@";
"macMenuNetworksNone" = "Sieci: brak";
diff --git a/Sources/WireGuardApp/ro.lproj/Localizable.strings b/Sources/WireGuardApp/ro.lproj/Localizable.strings
index 0b0843f..53ec584 100644
--- a/Sources/WireGuardApp/ro.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/ro.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Rețele";
"macMenuNetworks (%@)" = "Rețele: %@";
"macMenuNetworksNone" = "Rețele: niciuna";
diff --git a/Sources/WireGuardApp/ru.lproj/Localizable.strings b/Sources/WireGuardApp/ru.lproj/Localizable.strings
index aa18919..906a938 100644
--- a/Sources/WireGuardApp/ru.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/ru.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Сети";
"macMenuNetworks (%@)" = "Сети: %@";
"macMenuNetworksNone" = "Сети отсутствуют";
diff --git a/Sources/WireGuardApp/sl.lproj/Localizable.strings b/Sources/WireGuardApp/sl.lproj/Localizable.strings
index b57da97..36ff8e7 100644
--- a/Sources/WireGuardApp/sl.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/sl.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Omrežja";
"macMenuNetworks (%@)" = "Omrežja: %@";
"macMenuNetworksNone" = "Ni omrežij";
diff --git a/Sources/WireGuardApp/tr.lproj/Localizable.strings b/Sources/WireGuardApp/tr.lproj/Localizable.strings
index 537d28c..be52bb5 100644
--- a/Sources/WireGuardApp/tr.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/tr.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "Ağlar";
"macMenuNetworks (%@)" = "Ağlar: %@";
"macMenuNetworksNone" = "Ağlar: Yok";
diff --git a/Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings b/Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings
index 1f97382..557b492 100644
--- a/Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/zh-Hans.lproj/Localizable.strings
@@ -291,6 +291,7 @@
// Mac status bar menu / pulldown menu / main menu
+"macMenuNetworks" = "网络";
"macMenuNetworks (%@)" = "网络:%@";
"macMenuNetworksNone" = "网络:无";
diff --git a/Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings b/Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings
index 5aef8b4..a526d5a 100644
--- a/Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings
+++ b/Sources/WireGuardApp/zh-Hant.lproj/Localizable.strings
@@ -176,6 +176,7 @@
"alertUnableToWriteLogTitle" = "Log export failed";
"alertInvalidPeerMessagePublicKeyRequired" = "Peer’s public key is required";
"macMenuNetworksNone" = "Networks: None";
+"macMenuNetworks" = "Networks";
"tunnelOnDemandSSIDsKey" = "SSIDs";
"alertCantOpenOutputZipFileForWritingMessage" = "Could not open zip file for writing.";
"logViewTitle" = "Log";
--
2.32.0 (Apple Git-132)
prev parent reply other threads:[~2022-04-22 0:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-06 8:01 [PATCH 0/1] Convert network ip string to submenu list Brook Q
2022-04-06 8:01 ` Brook Q [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220406080110.8705-2-brook.qin@gmail.com \
--to=brook.qin@gmail.com \
--cc=wireguard@lists.zx2c4.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).