From bc12db75c9a6e6d31c16efbee53f475c32e6d7c2 Mon Sep 17 00:00:00 2001 From: Charlie Qiu Date: Fri, 10 Jun 2016 21:23:10 +0800 Subject: [PATCH] Launch at login. --- ShadowsocksX-NG/AppDelegate.swift | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift index 338f163..db9e756 100644 --- a/ShadowsocksX-NG/AppDelegate.swift +++ b/ShadowsocksX-NG/AppDelegate.swift @@ -16,6 +16,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele var preferencesWinCtrl: PreferencesWindowController! var advPreferencesWinCtrl: AdvPreferencesWindowController! + var launchAtLoginController: LaunchAtLoginController = LaunchAtLoginController() + @IBOutlet weak var window: NSWindow! @IBOutlet weak var statusMenu: NSMenu! @@ -110,6 +112,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele updateMainMenu() updateRunningModeMenu() + updateLaunchAtLoginMenu() + ProxyConfHelper.install() applyConfig() } @@ -190,7 +194,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele } @IBAction func toggleLaunghAtLogin(sender: NSMenuItem) { - + launchAtLoginController.launchAtLogin = !launchAtLoginController.launchAtLogin; + updateLaunchAtLoginMenu() } @IBAction func selectPACMode(sender: NSMenuItem) { @@ -242,6 +247,14 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele } } + func updateLaunchAtLoginMenu() { + if launchAtLoginController.launchAtLogin { + lanchAtLoginMenuItem.state = 1 + } else { + lanchAtLoginMenuItem.state = 0 + } + } + func updateRunningModeMenu() { let defaults = NSUserDefaults.standardUserDefaults() let mode = defaults.stringForKey("ShadowsocksRunningMode")