diff --git a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib index 87e7efb..536322e 100644 --- a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib +++ b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib @@ -10,6 +10,7 @@ + @@ -168,7 +169,7 @@ - + @@ -193,13 +194,22 @@ + + + @@ -214,15 +224,16 @@ - + - + - + + diff --git a/ShadowsocksX-NG/PreferencesWindowController.swift b/ShadowsocksX-NG/PreferencesWindowController.swift index f8de37b..b3afebf 100644 --- a/ShadowsocksX-NG/PreferencesWindowController.swift +++ b/ShadowsocksX-NG/PreferencesWindowController.swift @@ -22,6 +22,8 @@ class PreferencesWindowController: NSWindowController @IBOutlet weak var passwordTextField: NSTextField! @IBOutlet weak var remarkTextField: NSTextField! + @IBOutlet weak var otaCheckBoxBtn: NSButton! + @IBOutlet weak var copyURLBtn: NSButton! var defaults: NSUserDefaults! @@ -146,6 +148,9 @@ class PreferencesWindowController: NSWindowController remarkTextField.bind("value", toObject: editingProfile, withKeyPath: "remark" , options: [NSContinuouslyUpdatesValueBindingOption: true]) + + otaCheckBoxBtn.bind("value", toObject: editingProfile, withKeyPath: "ota" + , options: [NSContinuouslyUpdatesValueBindingOption: true]) } else { editingProfile = nil hostTextField.unbind("value") @@ -155,6 +160,8 @@ class PreferencesWindowController: NSWindowController passwordTextField.unbind("value") remarkTextField.unbind("value") + + otaCheckBoxBtn.unbind("value") } } diff --git a/ShadowsocksX-NG/ServerProfile.swift b/ShadowsocksX-NG/ServerProfile.swift index 5efc841..c71d717 100644 --- a/ShadowsocksX-NG/ServerProfile.swift +++ b/ShadowsocksX-NG/ServerProfile.swift @@ -38,6 +38,9 @@ class ServerProfile: NSObject { if let remark = data["Remark"] { profile.remark = remark as! String } + if let ota = data["OTA"] { + profile.ota = ota as! Bool + } } if let id = data["Id"] as? String { @@ -59,6 +62,7 @@ class ServerProfile: NSObject { d["Method"] = method d["Password"] = password d["Remark"] = remark + d["OTA"] = ota return d } @@ -72,6 +76,7 @@ class ServerProfile: NSObject { conf["local_port"] = NSNumber(unsignedShort: UInt16(defaults.integerForKey("LocalSocks5.ListenPort"))) conf["local_address"] = defaults.stringForKey("LocalSocks5.ListenAddress") conf["timeout"] = NSNumber(unsignedInt: UInt32(defaults.integerForKey("LocalSocks5.Timeout"))) + conf["auth"] = NSNumber(bool: ota) return conf }