From 13e8c6b1780eab5bd7257ba79020651e421f099c Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Wed, 9 Jan 2019 04:14:08 +0530 Subject: macOS: Support for on-demand activation Signed-off-by: Roopesh Chander --- .../ViewController/TunnelDetailTableViewController.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift') diff --git a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift index 3c07060..5f6c891 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift @@ -8,12 +8,14 @@ class TunnelDetailTableViewController: NSViewController { private enum TableViewModelRow { case interfaceFieldRow(TunnelViewModel.InterfaceField) case peerFieldRow(peer: TunnelViewModel.PeerData, field: TunnelViewModel.PeerField) + case onDemandRow case spacerRow func localizedSectionKeyString() -> String { switch self { case .interfaceFieldRow: return tr("tunnelSectionTitleInterface") case .peerFieldRow: return tr("tunnelSectionTitlePeer") + case .onDemandRow: return "" case .spacerRow: return "" } } @@ -22,6 +24,7 @@ class TunnelDetailTableViewController: NSViewController { switch self { case .interfaceFieldRow(let field): return field == .name case .peerFieldRow(_, let field): return field == .publicKey + case .onDemandRow: return true case .spacerRow: return false } } @@ -163,6 +166,8 @@ class TunnelDetailTableViewController: NSViewController { tableViewModelRows.append(.peerFieldRow(peer: peerData, field: field)) } } + tableViewModelRows.append(.spacerRow) + tableViewModelRows.append(.onDemandRow) } func updateStatus() { @@ -232,6 +237,12 @@ extension TunnelDetailTableViewController: NSTableViewDelegate { return cell case .spacerRow: return NSView() + case .onDemandRow: + let cell: KeyValueRow = tableView.dequeueReusableCell() + cell.key = tr("macFieldOnDemand") + cell.value = TunnelViewModel.activateOnDemandDetailText(for: tunnel.activateOnDemandSetting) + cell.isKeyInBold = true + return cell } } } -- cgit v1.2.3-59-g8ed1b