Add menu item "Manual Mode"

This commit is contained in:
Charlie Qiu
2016-06-11 17:47:18 +08:00
parent 235faa8e58
commit 7590cf2b71
4 changed files with 26 additions and 46 deletions

View File

@ -25,6 +25,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
@IBOutlet weak var toggleRunningMenuItem: NSMenuItem!
@IBOutlet weak var autoModeMenuItem: NSMenuItem!
@IBOutlet weak var globalModeMenuItem: NSMenuItem!
@IBOutlet weak var manualModeMenuItem: NSMenuItem!
@IBOutlet weak var serversMenuItem: NSMenuItem!
@IBOutlet var serversPreferencesMenuItem: NSMenuItem!
@ -140,13 +141,11 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
if isOn {
StartSSLocal()
if mode == "auto" {
autoModeMenuItem.state = 1
globalModeMenuItem.state = 0
ProxyConfHelper.enablePACProxy()
} else if mode == "global" {
autoModeMenuItem.state = 0
globalModeMenuItem.state = 1
ProxyConfHelper.enableGlobalProxy()
} else if mode == "manual" {
ProxyConfHelper.disableProxy()
}
} else {
StopSSLocal()
@ -227,6 +226,13 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
applyConfig()
}
@IBAction func selectManualMode(sender: NSMenuItem) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue("manual", forKey: "ShadowsocksRunningMode")
updateRunningModeMenu()
applyConfig()
}
@IBAction func editServerPreferences(sender: NSMenuItem) {
if preferencesWinCtrl != nil {
preferencesWinCtrl.close()
@ -276,9 +282,15 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
if mode == "auto" {
autoModeMenuItem.state = 1
globalModeMenuItem.state = 0
manualModeMenuItem.state = 0
} else if mode == "global" {
autoModeMenuItem.state = 0
globalModeMenuItem.state = 1
manualModeMenuItem.state = 0
} else if mode == "manual" {
autoModeMenuItem.state = 0
globalModeMenuItem.state = 0
manualModeMenuItem.state = 1
}
}

View File

@ -17,6 +17,7 @@
<outlet property="autoModeMenuItem" destination="hOa-5N-3ik" id="en3-ni-jqC"/>
<outlet property="globalModeMenuItem" destination="3Sa-e9-VXX" id="UKI-yu-DEK"/>
<outlet property="lanchAtLoginMenuItem" destination="eUq-p7-ICK" id="w4p-0c-DZn"/>
<outlet property="manualModeMenuItem" destination="vRc-N6-z1e" id="jp0-vj-pTX"/>
<outlet property="runningStatusMenuItem" destination="fzk-mE-CEV" id="Vwm-Rg-Ykn"/>
<outlet property="serversMenuItem" destination="u5M-hQ-VSc" id="8gp-SY-Y4U"/>
<outlet property="serversPreferencesMenuItem" destination="M5r-E7-44f" id="voe-SX-k6a"/>
@ -49,6 +50,12 @@
<action selector="selectGlobalMode:" target="Voe-Tx-rLC" id="l4X-GP-hlH"/>
</connections>
</menuItem>
<menuItem title="Manual Mode" id="vRc-N6-z1e">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="selectManualMode:" target="Voe-Tx-rLC" id="vNk-P9-UQj"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kkf-gh-O8t"/>
<menuItem title="Servers" id="u5M-hQ-VSc">
<modifierMask key="keyEquivalentModifierMask" shift="YES"/>

View File

@ -1,42 +0,0 @@
/* Class = "NSMenuItem"; title = "Global Mode"; ObjectID = "3Sa-e9-VXX"; */
"3Sa-e9-VXX.title" = "Global Mode";
/* Class = "NSMenu"; title = "Servers"; ObjectID = "9Y1-db-3HK"; */
"9Y1-db-3HK.title" = "Servers";
/* Class = "NSMenuItem"; title = "Open ShadowsocksX"; ObjectID = "GSu-Tf-StS"; */
"GSu-Tf-StS.title" = "Open ShadowsocksX";
/* Class = "NSMenu"; title = "ShadowsocksX-NE"; ObjectID = "Hob-KD-bx9"; */
"Hob-KD-bx9.title" = "ShadowsocksX-NE";
/* Class = "NSMenuItem"; title = "Server Preferences..."; ObjectID = "M5r-E7-44f"; */
"M5r-E7-44f.title" = "Server Preferences...";
/* Class = "NSMenuItem"; title = "Scan QR Code From Screen ..."; ObjectID = "Qe6-bF-paT"; */
"Qe6-bF-paT.title" = "Scan QR Code From Screen ...";
/* Class = "NSMenuItem"; title = "Show QR Code For Current Server..."; ObjectID = "R6A-96-Zcb"; */
"R6A-96-Zcb.title" = "Show QR Code For Current Server...";
/* Class = "NSMenuItem"; title = "Update PAC from GFW List"; ObjectID = "TFc-Ec-duM"; */
"TFc-Ec-duM.title" = "Update PAC from GFW List";
/* Class = "NSMenuItem"; title = "Advance Preference ..."; ObjectID = "bZ3-fy-34d"; */
"bZ3-fy-34d.title" = "Advance Preference ...";
/* Class = "NSMenuItem"; title = "Launch At Login"; ObjectID = "eUq-p7-ICK"; */
"eUq-p7-ICK.title" = "Launch At Login";
/* Class = "NSMenuItem"; title = "Showsocks: On"; ObjectID = "fzk-mE-CEV"; */
"fzk-mE-CEV.title" = "Showsocks: On";
/* Class = "NSMenuItem"; title = "Auto Mode By PAC"; ObjectID = "hOa-5N-3ik"; */
"hOa-5N-3ik.title" = "Auto Mode By PAC";
/* Class = "NSMenuItem"; title = "Servers"; ObjectID = "u5M-hQ-VSc"; */
"u5M-hQ-VSc.title" = "Servers";
/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "vJS-JW-byz"; */
"vJS-JW-byz.title" = "Quit";

View File

@ -40,3 +40,6 @@
/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "vJS-JW-byz"; */
"vJS-JW-byz.title" = "退出";
/* Class = "NSMenuItem"; title = "Manual Mode"; ObjectID = "vRc-N6-z1e"; */
"vRc-N6-z1e.title" = "手动模式";