36 lines
1.9 KiB
Swift
36 lines
1.9 KiB
Swift
import AppKit
|
|
|
|
extension StatusItemController {
|
|
func selector(for action: MenuDescriptor.MenuAction) -> (Selector, Any?) {
|
|
switch action {
|
|
case .installUpdate: (#selector(self.installUpdate), nil)
|
|
case .refresh: (#selector(self.refreshMenuItem(_:)), nil)
|
|
case .refreshAugmentSession: (#selector(self.refreshAugmentSession), nil)
|
|
case .dashboard: (#selector(self.openDashboard), nil)
|
|
case .statusPage: (#selector(self.openStatusPage), nil)
|
|
case .changelog: (#selector(self.openChangelog), nil)
|
|
case .addCodexAccount: (#selector(self.addManagedCodexAccountFromMenu(_:)), nil)
|
|
case let .addProviderAccount(provider): (#selector(self.runSwitchAccount(_:)), provider.rawValue)
|
|
case let .requestCodexSystemPromotion(managedAccountID):
|
|
(#selector(self.requestCodexSystemPromotionFromMenu(_:)), managedAccountID.uuidString)
|
|
case let .switchAccount(provider): (#selector(self.runSwitchAccount(_:)), provider.rawValue)
|
|
case let .openTerminal(command): (#selector(self.openTerminalCommand(_:)), command)
|
|
case let .loginToProvider(url): (#selector(self.openLoginToProvider(_:)), url)
|
|
case .settings: (#selector(self.showSettingsGeneral), nil)
|
|
case .about: (#selector(self.showSettingsAbout), nil)
|
|
case .quit: (#selector(self.quit), nil)
|
|
case let .copyError(message): (#selector(self.copyError(_:)), message)
|
|
case let .focusAgentSession(session, remoteHost):
|
|
(#selector(self.focusAgentSession(_:)), [session.id, remoteHost ?? ""])
|
|
}
|
|
}
|
|
|
|
func codexAddAccountSubtitle() -> String? {
|
|
if self.settings.hasUnreadableManagedCodexAccountStore {
|
|
return L("Managed account storage unavailable")
|
|
}
|
|
guard self.managedCodexAccountCoordinator.isAuthenticatingManagedAccount else { return nil }
|
|
return L("Managed Codex login in progress…")
|
|
}
|
|
}
|