From ada7db3dca0a2756f5a24f0fcbdfcbfa8f092457 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Thu, 3 Jan 2019 01:16:27 +0530 Subject: macOS: Manage tunnels: Tunnel detail view Signed-off-by: Roopesh Chander --- .../ViewController/TunnelsListTableViewController.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift') diff --git a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift index 05aabbe..c99f15b 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift @@ -3,9 +3,15 @@ import Cocoa +protocol TunnelsListTableViewControllerDelegate: class { + func tunnelSelected(tunnel: TunnelContainer) + func tunnelListEmpty() +} + class TunnelsListTableViewController: NSViewController { let tunnelsManager: TunnelsManager + weak var delegate: TunnelsListTableViewControllerDelegate? let tableView: NSTableView = { let tableView = NSTableView() @@ -148,6 +154,17 @@ extension TunnelsListTableViewController: NSTableViewDelegate { cell.tunnel = tunnelsManager.tunnel(at: row) return cell } + + func tableViewSelectionDidChange(_ notification: Notification) { + guard tableView.selectedRow >= 0 else { + if tunnelsManager.numberOfTunnels() == 0 { + delegate?.tunnelListEmpty() + } + return + } + let selectedTunnel = tunnelsManager.tunnel(at: tableView.selectedRow) + delegate?.tunnelSelected(tunnel: selectedTunnel) + } } class FillerButton: NSButton { -- cgit v1.2.3-59-g8ed1b