diff options
author | Roopesh Chander <roop@roopc.net> | 2019-01-23 12:51:05 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2019-01-23 14:48:45 +0530 |
commit | 77d4a02139b788362aa4027a81949d8a13e50da3 (patch) | |
tree | 2b65c49f11691ada907a61c0b2717138aafe707c /WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift | |
parent | macOS: reload: Iterate in reverse (diff) | |
download | wireguard-apple-77d4a02139b788362aa4027a81949d8a13e50da3.tar.xz wireguard-apple-77d4a02139b788362aa4027a81949d8a13e50da3.zip |
iOS: Fix handling of deletion outside app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift')
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift b/WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift index 058063d..6a2f3a1 100644 --- a/WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/ViewController/TunnelsListTableViewController.swift @@ -252,7 +252,21 @@ extension TunnelsListTableViewController: TunnelsManagerListDelegate { } func tunnelRemoved(at index: Int) { + let selectedIndex = tableView.indexPathForSelectedRow?.row tableView.deleteRows(at: [IndexPath(row: index, section: 0)], with: .automatic) centeredAddButton.isHidden = tunnelsManager?.numberOfTunnels() ?? 0 > 0 + if let selectedIndex = selectedIndex, selectedIndex == index, let splitViewController = splitViewController { + if splitViewController.isCollapsed != false { + (splitViewController.viewControllers[0] as? UINavigationController)?.popViewController(animated: false) + } else { + let detailVC = UIViewController() + detailVC.view.backgroundColor = .white + let detailNC = UINavigationController(rootViewController: detailVC) + splitViewController.showDetailViewController(detailNC, sender: self) + } + if let presentedNavController = self.presentedViewController as? UINavigationController, presentedNavController.viewControllers.first is TunnelEditTableViewController { + self.presentedViewController?.dismiss(animated: false, completion: nil) + } + } } } |