diff options
author | 2019-03-18 11:57:09 +0530 | |
---|---|---|
committer | 2019-03-18 12:03:41 +0530 | |
commit | 121d2232296e936b68268b75560d5ab6f35bf2cd (patch) | |
tree | d881f2c2ce82aed571ff7bcd1a782ff92c54cb2b /WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift | |
parent | macOS: Tunnels list: Don't allow empty selection (diff) | |
download | wireguard-apple-121d2232296e936b68268b75560d5ab6f35bf2cd.tar.xz wireguard-apple-121d2232296e936b68268b75560d5ab6f35bf2cd.zip |
macOS: Tunnels list: Double-click to activate / deactivate
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to '')
-rw-r--r-- | WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift index 0dffd48..f922f61 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift @@ -78,6 +78,8 @@ class TunnelsListTableViewController: NSViewController { tableView.dataSource = self tableView.delegate = self + tableView.doubleAction = #selector(listDoubleClicked(sender:)) + let isSelected = selectTunnelInOperation() || selectTunnel(at: 0) if !isSelected { delegate?.tunnelsListEmpty() @@ -242,6 +244,17 @@ class TunnelsListTableViewController: NSViewController { } } + @objc func listDoubleClicked(sender: AnyObject) { + let tunnelIndex = tableView.clickedRow + guard tunnelIndex >= 0 && tunnelIndex < tunnelsManager.numberOfTunnels() else { return } + let tunnel = tunnelsManager.tunnel(at: tunnelIndex) + if tunnel.status == .inactive { + tunnelsManager.startActivation(of: tunnel) + } else if tunnel.status == .active { + tunnelsManager.startDeactivation(of: tunnel) + } + } + @discardableResult private func selectTunnel(at index: Int) -> Bool { if index < tunnelsManager.numberOfTunnels() { |