macOS: Tunnel edit: Handle deletion outside app
Signed-off-by: Roopesh Chander <roop@roopc.net>
This commit is contained in:
@@ -84,6 +84,7 @@ class TunnelDetailTableViewController: NSViewController {
|
|||||||
}
|
}
|
||||||
private var tableViewModelRows = [TableViewModelRow]()
|
private var tableViewModelRows = [TableViewModelRow]()
|
||||||
private var statusObservationToken: AnyObject?
|
private var statusObservationToken: AnyObject?
|
||||||
|
private var tunnelEditVC: TunnelEditViewController?
|
||||||
|
|
||||||
init(tunnelsManager: TunnelsManager, tunnel: TunnelContainer) {
|
init(tunnelsManager: TunnelsManager, tunnel: TunnelContainer) {
|
||||||
self.tunnelsManager = tunnelsManager
|
self.tunnelsManager = tunnelsManager
|
||||||
@@ -201,6 +202,7 @@ class TunnelDetailTableViewController: NSViewController {
|
|||||||
let tunnelEditVC = TunnelEditViewController(tunnelsManager: tunnelsManager, tunnel: tunnel)
|
let tunnelEditVC = TunnelEditViewController(tunnelsManager: tunnelsManager, tunnel: tunnel)
|
||||||
tunnelEditVC.delegate = self
|
tunnelEditVC.delegate = self
|
||||||
presentAsSheet(tunnelEditVC)
|
presentAsSheet(tunnelEditVC)
|
||||||
|
self.tunnelEditVC = tunnelEditVC
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc func handleToggleActiveStatusAction() {
|
@objc func handleToggleActiveStatusAction() {
|
||||||
@@ -219,6 +221,13 @@ class TunnelDetailTableViewController: NSViewController {
|
|||||||
tunnelsManager.startDeactivation(of: tunnel)
|
tunnelsManager.startDeactivation(of: tunnel)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override func viewWillDisappear() {
|
||||||
|
super.viewWillDisappear()
|
||||||
|
if let tunnelEditVC = tunnelEditVC {
|
||||||
|
dismiss(tunnelEditVC)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension TunnelDetailTableViewController: NSTableViewDataSource {
|
extension TunnelDetailTableViewController: NSTableViewDataSource {
|
||||||
@@ -264,6 +273,6 @@ extension TunnelDetailTableViewController: TunnelEditViewControllerDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func tunnelEditingCancelled() {
|
func tunnelEditingCancelled() {
|
||||||
// Nothing to do
|
self.tunnelEditVC = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user