From 83df9820298f6a0316f247daa828860abc30aebc Mon Sep 17 00:00:00 2001 From: qinyuhang Date: Mon, 12 Sep 2016 16:09:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E6=89=93=E5=BC=80?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=8A=A8=E8=BF=9E=E6=8E=A5=20=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShadowsocksX-NG/AppDelegate.swift | 23 +++++++++++++++---- ShadowsocksX-NG/Base.lproj/MainMenu.xib | 7 ++++++ .../PreferencesWindowController.xib | 2 +- .../zh-Hans.lproj/MainMenu.strings | 3 ++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift index 6d671b1..631d071 100644 --- a/ShadowsocksX-NG/AppDelegate.swift +++ b/ShadowsocksX-NG/AppDelegate.swift @@ -43,6 +43,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele @IBOutlet var serversPreferencesMenuItem: NSMenuItem! @IBOutlet weak var lanchAtLoginMenuItem: NSMenuItem! + @IBOutlet weak var connectAtLaunchMenuItem: NSMenuItem! @IBOutlet weak var ShowNetworkSpeedItem: NSMenuItem! var statusItemView:StatusItemView! @@ -189,6 +190,10 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele ProxyConfHelper.install() applyConfig() SyncSSLocal() + + if defaults.boolForKey("ConnectAtLaunch") { + toggleRunning(toggleRunningMenuItem) + } } @@ -200,8 +205,6 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele let defaults = NSUserDefaults.standardUserDefaults() defaults.setBool(false, forKey: "ShadowsocksOn") ProxyConfHelper.stopPACServer() - - } func applyConfig() { @@ -323,6 +326,12 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele updateLaunchAtLoginMenu() } + @IBAction func toggleConnectAtLaunch(sender: NSMenuItem) { + let defaults = NSUserDefaults.standardUserDefaults() + defaults.setBool(!defaults.boolForKey("ConnectAtLaunch"), forKey: "ConnectAtLaunch") + updateMainMenu() + } + @IBAction func selectPACMode(sender: NSMenuItem) { let defaults = NSUserDefaults.standardUserDefaults() defaults.setValue("auto", forKey: "ShadowsocksRunningMode") @@ -529,12 +538,18 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele // statusItem.image = image statusItemView.setIcon(image!) } - let showSpeed = defaults.boolForKey("enable_showSpeed") - if showSpeed{ + + if defaults.boolForKey("enable_showSpeed") { ShowNetworkSpeedItem.state = 1 }else{ ShowNetworkSpeedItem.state = 0 } + + if defaults.boolForKey("ConnectAtLaunch") { + connectAtLaunchMenuItem.state = 1 + } else { + connectAtLaunchMenuItem.state = 0 + } } func updateServersMenu() { diff --git a/ShadowsocksX-NG/Base.lproj/MainMenu.xib b/ShadowsocksX-NG/Base.lproj/MainMenu.xib index 32fca15..774a914 100644 --- a/ShadowsocksX-NG/Base.lproj/MainMenu.xib +++ b/ShadowsocksX-NG/Base.lproj/MainMenu.xib @@ -16,6 +16,7 @@ + @@ -187,6 +188,12 @@ + + + + + + diff --git a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib index a0b9885..449da60 100644 --- a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib +++ b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib @@ -1,5 +1,5 @@ - + diff --git a/ShadowsocksX-NG/zh-Hans.lproj/MainMenu.strings b/ShadowsocksX-NG/zh-Hans.lproj/MainMenu.strings index 5742d13..119a3e6 100644 --- a/ShadowsocksX-NG/zh-Hans.lproj/MainMenu.strings +++ b/ShadowsocksX-NG/zh-Hans.lproj/MainMenu.strings @@ -95,4 +95,5 @@ /* Class = "NSMenuItem"; title = "Show network speed"; ObjectID = "a3h-uQ-DuO"; */ "a3h-uQ-DuO.title" = "显示网速"; - +/* Class = "NSMenuItem"; title = "Connect At Launch"; ObjectID = "aB3-cf-5j0"; */ +"aB3-cf-5j0.title" = "打开时自动连接";