diff options
author | Roopesh Chander <roop@roopc.net> | 2018-10-24 17:09:34 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-10-27 15:13:01 +0530 |
commit | 37f43759b83e31fb8207ac3d7d9985c4a0d1edc9 (patch) | |
tree | bfe053c3bf66e0bc785e7b37c22d26d8a36113c7 /WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift | |
parent | Tunnel detail: Don't show fields that have empty value (diff) | |
download | wireguard-apple-37f43759b83e31fb8207ac3d7d9985c4a0d1edc9.tar.xz wireguard-apple-37f43759b83e31fb8207ac3d7d9985c4a0d1edc9.zip |
Tunnel creation: After saving the new tunnel, show the detail view
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift')
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift b/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift index e486706..6be42b8 100644 --- a/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift @@ -3,10 +3,16 @@ import UIKit +protocol TunnelEditTableViewControllerDelegate: class { + func saved(tunnel: TunnelContainer) +} + // MARK: TunnelEditTableViewController class TunnelEditTableViewController: UITableViewController { + weak var delegate: TunnelEditTableViewControllerDelegate? = nil + let interfaceFieldsBySection: [[TunnelViewModel.InterfaceField]] = [ [.name], [.privateKey, .publicKey, .generateKeyPair], @@ -20,11 +26,13 @@ class TunnelEditTableViewController: UITableViewController { ] let tunnelsManager: TunnelsManager + let tunnel: TunnelContainer? let tunnelViewModel: TunnelViewModel - init(tunnelsManager tm: TunnelsManager) { + init(tunnelsManager tm: TunnelsManager, tunnel t: TunnelContainer? = nil) { tunnelsManager = tm - tunnelViewModel = TunnelViewModel(tunnelConfiguration: nil) + tunnel = t + tunnelViewModel = TunnelViewModel(tunnelConfiguration: t?.tunnelProvider.tunnelConfiguration) super.init(style: .grouped) self.modalPresentationStyle = .formSheet } @@ -55,11 +63,12 @@ class TunnelEditTableViewController: UITableViewController { let erroringConfiguration = (tunnelViewModel.interfaceData.validatedConfiguration == nil) ? "Interface" : "Peer" showErrorAlert(title: "Invalid \(erroringConfiguration)", message: errorMessage) case .saved(let tunnelConfiguration): - tunnelsManager.add(tunnelConfiguration: tunnelConfiguration) { [weak self] (error) in + tunnelsManager.add(tunnelConfiguration: tunnelConfiguration) { [weak self] (tunnel, error) in if let error = error { print("Could not save: \(error)") self?.showErrorAlert(title: "Could not save", message: "Internal error") } else { + self?.delegate?.saved(tunnel: tunnel) self?.dismiss(animated: true, completion: nil) } } |