From 9f362e8cb0c4cdecd5a1002dca50020bd7db29fe Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Tue, 22 Jan 2019 19:30:06 +0530 Subject: macOS: Tunnel edit: Handle deletion outside app Signed-off-by: Roopesh Chander --- .../ViewController/TunnelDetailTableViewController.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (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 70085d7..546d1c1 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift @@ -84,6 +84,7 @@ class TunnelDetailTableViewController: NSViewController { } private var tableViewModelRows = [TableViewModelRow]() private var statusObservationToken: AnyObject? + private var tunnelEditVC: TunnelEditViewController? init(tunnelsManager: TunnelsManager, tunnel: TunnelContainer) { self.tunnelsManager = tunnelsManager @@ -201,6 +202,7 @@ class TunnelDetailTableViewController: NSViewController { let tunnelEditVC = TunnelEditViewController(tunnelsManager: tunnelsManager, tunnel: tunnel) tunnelEditVC.delegate = self presentAsSheet(tunnelEditVC) + self.tunnelEditVC = tunnelEditVC } @objc func handleToggleActiveStatusAction() { @@ -219,6 +221,13 @@ class TunnelDetailTableViewController: NSViewController { tunnelsManager.startDeactivation(of: tunnel) } } + + override func viewWillDisappear() { + super.viewWillDisappear() + if let tunnelEditVC = tunnelEditVC { + dismiss(tunnelEditVC) + } + } } extension TunnelDetailTableViewController: NSTableViewDataSource { @@ -264,6 +273,6 @@ extension TunnelDetailTableViewController: TunnelEditViewControllerDelegate { } func tunnelEditingCancelled() { - // Nothing to do + self.tunnelEditVC = nil } } -- cgit v1.2.3-59-g8ed1b