From f3c29042418942f9e07281aefbc67360ebc4366f Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Sat, 5 Jan 2019 18:24:45 +0530 Subject: macOS: Manage tunnels: Handle the case when there are no tunnels Signed-off-by: Roopesh Chander --- .../ViewController/TunnelsListTableViewController.swift | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (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 643529c..dff583a 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift @@ -5,7 +5,7 @@ import Cocoa protocol TunnelsListTableViewControllerDelegate: class { func tunnelSelected(tunnel: TunnelContainer) - func tunnelListEmpty() + func tunnelsListEmpty() } class TunnelsListTableViewController: NSViewController { @@ -61,7 +61,10 @@ class TunnelsListTableViewController: NSViewController { override func loadView() { tableView.dataSource = self tableView.delegate = self - selectTunnel(at: 0) + let isSelected = selectTunnel(at: 0) + if !isSelected { + delegate?.tunnelsListEmpty() + } let scrollView = NSScrollView() scrollView.hasVerticalScroller = true @@ -246,6 +249,9 @@ extension TunnelsListTableViewController { func tunnelRemoved(at index: Int) { tableView.removeRows(at: IndexSet(integer: index), withAnimation: .slideLeft) + if tunnelsManager.numberOfTunnels() == 0 { + delegate?.tunnelsListEmpty() + } } } @@ -263,12 +269,7 @@ extension TunnelsListTableViewController: NSTableViewDelegate { } func tableViewSelectionDidChange(_ notification: Notification) { - guard tableView.selectedRow >= 0 else { - if tunnelsManager.numberOfTunnels() == 0 { - delegate?.tunnelListEmpty() - } - return - } + guard tableView.selectedRow >= 0 else { return } let selectedTunnel = tunnelsManager.tunnel(at: tableView.selectedRow) delegate?.tunnelSelected(tunnel: selectedTunnel) } -- cgit v1.2.3-59-g8ed1b