diff options
Diffstat (limited to '')
-rw-r--r-- | WireGuard/WireGuard/UI/macOS/AppDelegate.swift | 20 | ||||
-rw-r--r-- | WireGuard/WireGuard/UI/macOS/StatusMenu.swift | 26 |
2 files changed, 27 insertions, 19 deletions
diff --git a/WireGuard/WireGuard/UI/macOS/AppDelegate.swift b/WireGuard/WireGuard/UI/macOS/AppDelegate.swift index 2403d0f..994495e 100644 --- a/WireGuard/WireGuard/UI/macOS/AppDelegate.swift +++ b/WireGuard/WireGuard/UI/macOS/AppDelegate.swift @@ -20,29 +20,11 @@ class AppDelegate: NSObject, NSApplicationDelegate { self.statusItem = createStatusBarItem(with: statusMenu) tunnelsManager.tunnelsListDelegate = statusMenu - tunnelsManager.activationDelegate = self + tunnelsManager.activationDelegate = statusMenu } } } -extension AppDelegate: TunnelsManagerActivationDelegate { - func tunnelActivationAttemptFailed(tunnel: TunnelContainer, error: TunnelsManagerActivationAttemptError) { - ErrorPresenter.showErrorAlert(error: error, from: nil) - } - - func tunnelActivationAttemptSucceeded(tunnel: TunnelContainer) { - // Nothing to do - } - - func tunnelActivationFailed(tunnel: TunnelContainer, error: TunnelsManagerActivationError) { - ErrorPresenter.showErrorAlert(error: error, from: nil) - } - - func tunnelActivationSucceeded(tunnel: TunnelContainer) { - // Nothing to do - } -} - func createStatusBarItem(with statusMenu: StatusMenu) -> NSStatusItem { let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) if let statusBarImage = NSImage(named: "WireGuardMacStatusBarIcon") { diff --git a/WireGuard/WireGuard/UI/macOS/StatusMenu.swift b/WireGuard/WireGuard/UI/macOS/StatusMenu.swift index 388c3cc..b8693c9 100644 --- a/WireGuard/WireGuard/UI/macOS/StatusMenu.swift +++ b/WireGuard/WireGuard/UI/macOS/StatusMenu.swift @@ -217,3 +217,29 @@ extension StatusMenu: TunnelsManagerListDelegate { manageTunnelsRootVC?.tunnelsListVC?.tunnelRemoved(at: index) } } + +extension StatusMenu: TunnelsManagerActivationDelegate { + func tunnelActivationAttemptFailed(tunnel: TunnelContainer, error: TunnelsManagerActivationAttemptError) { + if let manageTunnelsRootVC = manageTunnelsRootVC, manageTunnelsWindow.isVisible { + ErrorPresenter.showErrorAlert(error: error, from: manageTunnelsRootVC) + } else { + ErrorPresenter.showErrorAlert(error: error, from: nil) + } + } + + func tunnelActivationAttemptSucceeded(tunnel: TunnelContainer) { + // Nothing to do + } + + func tunnelActivationFailed(tunnel: TunnelContainer, error: TunnelsManagerActivationError) { + if let manageTunnelsRootVC = manageTunnelsRootVC, manageTunnelsWindow.isVisible { + ErrorPresenter.showErrorAlert(error: error, from: manageTunnelsRootVC) + } else { + ErrorPresenter.showErrorAlert(error: error, from: nil) + } + } + + func tunnelActivationSucceeded(tunnel: TunnelContainer) { + // Nothing to do + } +} |