]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
on-demand: iOS: Only n SSIDs / Except m SSIDs
authorRoopesh Chander <roop@roopc.net>
Sat, 9 Mar 2019 10:05:49 +0000 (15:35 +0530)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 18 Mar 2019 05:46:55 +0000 (06:46 +0100)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/Base.lproj/Localizable.strings
WireGuard/WireGuard/UI/ActivateOnDemandViewModel.swift
WireGuard/WireGuard/UI/iOS/ViewController/TunnelDetailTableViewController.swift
WireGuard/WireGuard/UI/iOS/ViewController/TunnelEditTableViewController.swift

index de2a8c2f3ff5bb5e1e60e28d10b9a74b89c65334..32b792ff32dea406cbc0c3356f7cb80f7f508357 100644 (file)
 "tunnelOnDemandAnySSID" = "Any SSID";
 "tunnelOnDemandOnlySelectedSSIDs" = "Only selected SSIDs";
 "tunnelOnDemandExceptSelectedSSIDs" = "Except selected SSIDs";
+"tunnelOnDemandOnlySSID (%d)" = "Only %d SSID";
+"tunnelOnDemandOnlySSIDs (%d)" = "Only %d SSIDs";
+"tunnelOnDemandExceptSSID (%d)" = "Except %d SSID";
+"tunnelOnDemandExceptSSIDs (%d)" = "Except %d SSIDs";
 
 "tunnelOnDemandSSIDViewTitle" = "SSIDs";
 "tunnelOnDemandSectionTitleSelectedSSIDs" = "SSIDs";
index 2f13f074d2149600422ce1ae8bce889b3748b8d2..c7d01739e632a5150c9bdfdc89cbe6688b77b55f 100644 (file)
@@ -130,6 +130,25 @@ extension ActivateOnDemandViewModel {
         }
     }
 
+    var localizedSSIDDescription: String {
+        guard isWiFiInterfaceEnabled else { return "" }
+        switch ssidOption {
+        case .anySSID: return tr("tunnelOnDemandAnySSID")
+        case .onlySpecificSSIDs:
+            if selectedSSIDs.count == 1 {
+                return tr(format: "tunnelOnDemandOnlySSID (%d)", selectedSSIDs.count)
+            } else {
+                return tr(format: "tunnelOnDemandOnlySSIDs (%d)", selectedSSIDs.count)
+            }
+        case .exceptSpecificSSIDs:
+            if selectedSSIDs.count == 1 {
+                return tr(format: "tunnelOnDemandExceptSSID (%d)", selectedSSIDs.count)
+            } else {
+                return tr(format: "tunnelOnDemandExceptSSIDs (%d)", selectedSSIDs.count)
+            }
+        }
+    }
+
     func fixSSIDOption() {
         selectedSSIDs = uniquifiedNonEmptySelectedSSIDs()
         if selectedSSIDs.isEmpty {
index abee81807222ec6c21bdb8e947cb563914b8e1f5..32393a9c82feda332198b4538ab45e4066596c5f 100644 (file)
@@ -423,7 +423,7 @@ extension TunnelDetailTableViewController {
             } else {
                 let cell: ChevronCell = tableView.dequeueReusableCell(for: indexPath)
                 cell.message = field.localizedUIString
-                cell.detailMessage = onDemandViewModel.ssidOption.localizedUIString
+                cell.detailMessage = onDemandViewModel.localizedSSIDDescription
                 return cell
             }
         }
index e5f322a326d7569cefe0883621397c572de18281..943e7e5fa24cbc3c533793b09599c6e3e12fde41 100644 (file)
@@ -442,7 +442,7 @@ extension TunnelEditTableViewController {
         } else {
             let cell: ChevronCell = tableView.dequeueReusableCell(for: indexPath)
             cell.message = field.localizedUIString
-            cell.detailMessage = onDemandViewModel.ssidOption.localizedUIString
+            cell.detailMessage = onDemandViewModel.localizedSSIDDescription
             return cell
         }
     }