mirror of
https://github.com/qinyuhang/ShadowsocksX-NG-R.git
synced 2026-10-22 07:43:42 +00:00
Rerange menu items
TODO finish the table view of subscribe management Especially the bind profile thing
This commit is contained in:
@@ -52,6 +52,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
@IBOutlet weak var ShowNetworkSpeedItem: NSMenuItem!
|
||||
@IBOutlet weak var checkUpdateMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var checkUpdateAtLaunchMenuItem: NSMenuItem!
|
||||
@IBOutlet var updateSubscribeAtLaunchMenuItem: NSMenuItem!
|
||||
@IBOutlet var manualUpdateSubscribeMenuItem: NSMenuItem!
|
||||
@IBOutlet var editSubscribeMenuItem: NSMenuItem!
|
||||
|
||||
// MARK: Variables
|
||||
var statusItemView:StatusItemView!
|
||||
@@ -92,7 +95,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
"LocalHTTP.FollowGlobal": true,
|
||||
"AutoCheckUpdate": false,
|
||||
"ACLFileName": "chn.acl",
|
||||
"SubscribeFeed": ""
|
||||
"Subscribes": [],
|
||||
"AutoUpdateSubscribe":false,
|
||||
])
|
||||
|
||||
setUpMenu(defaults.bool(forKey: "enable_showSpeed"))
|
||||
@@ -360,6 +364,15 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
ServerProfileManager.instance.exportConfigFile()
|
||||
}
|
||||
|
||||
@IBAction func updateSubscribe(_ sender: NSMenuItem) {
|
||||
}
|
||||
|
||||
@IBAction func updateSubscribeAtLaunch(_ sender: NSMenuItem) {
|
||||
}
|
||||
|
||||
|
||||
// MARK: Proxy submenu function
|
||||
|
||||
@IBAction func selectPACMode(_ sender: NSMenuItem) {
|
||||
let defaults = UserDefaults.standard
|
||||
defaults.setValue("auto", forKey: "ShadowsocksRunningMode")
|
||||
@@ -635,6 +648,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
let showBunch = showBunchJsonExampleFileItem
|
||||
let importBuntch = importBunchJsonFileItem
|
||||
let exportAllServer = exportAllServerProfileItem
|
||||
let updateSubscribeItem = manualUpdateSubscribeMenuItem
|
||||
let autoUpdateSubscribeItem = updateSubscribeAtLaunchMenuItem
|
||||
let editSubscribeItem = editSubscribeMenuItem
|
||||
// let pingItem = pingserverMenuItem
|
||||
|
||||
var i = 0
|
||||
@@ -690,6 +706,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
if !mgr.profiles.isEmpty {
|
||||
serversMenuItem.submenu?.addItem(NSMenuItem.separator())
|
||||
}
|
||||
serversMenuItem.submenu?.addItem(editSubscribeItem!)
|
||||
serversMenuItem.submenu?.addItem(autoUpdateSubscribeItem!)
|
||||
serversMenuItem.submenu?.addItem(updateSubscribeItem!)
|
||||
serversMenuItem.submenu?.addItem(showQRItem!)
|
||||
serversMenuItem.submenu?.addItem(scanQRItem!)
|
||||
serversMenuItem.submenu?.addItem(showBunch!)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12121" systemVersion="17A264c" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12121"/>
|
||||
@@ -23,11 +23,13 @@
|
||||
<outlet property="checkUpdateAtLaunchMenuItem" destination="3nJ-zQ-Agj" id="bbR-eO-uCo"/>
|
||||
<outlet property="checkUpdateMenuItem" destination="wyZ-4G-qg9" id="Sva-xA-VQY"/>
|
||||
<outlet property="connectAtLaunchMenuItem" destination="aB3-cf-5j0" id="kW6-UF-38P"/>
|
||||
<outlet property="editSubscribeMenuItem" destination="QJ6-eg-mzv" id="KC0-uH-8q0"/>
|
||||
<outlet property="exportAllServerProfileItem" destination="6k0-gn-DQv" id="1xA-cd-5Ia"/>
|
||||
<outlet property="globalModeMenuItem" destination="Mw3-Jm-eXA" id="ar5-Yx-3ze"/>
|
||||
<outlet property="importBunchJsonFileItem" destination="T9g-gy-gvv" id="GW7-ii-U1j"/>
|
||||
<outlet property="lanchAtLoginMenuItem" destination="eUq-p7-ICK" id="w4p-0c-DZn"/>
|
||||
<outlet property="manualModeMenuItem" destination="8PR-gs-c5N" id="9qz-mU-5kt"/>
|
||||
<outlet property="manualUpdateSubscribeMenuItem" destination="NnE-Ad-1An" id="2Vf-Br-EnF"/>
|
||||
<outlet property="pingserverMenuItem" destination="zfR-Jt-GmS" id="Gjs-bY-0tm"/>
|
||||
<outlet property="proxyMenuItem" destination="diI-fB-Rss" id="Qjk-9U-3Qy"/>
|
||||
<outlet property="runningStatusMenuItem" destination="fzk-mE-CEV" id="Vwm-Rg-Ykn"/>
|
||||
@@ -38,6 +40,7 @@
|
||||
<outlet property="showQRCodeMenuItem" destination="R6A-96-Zcb" id="XHz-pz-nCz"/>
|
||||
<outlet property="statusMenu" destination="Hob-KD-bx9" id="clA-ZW-0pT"/>
|
||||
<outlet property="toggleRunningMenuItem" destination="GSu-Tf-StS" id="XHw-pU-nCa"/>
|
||||
<outlet property="updateSubscribeAtLaunchMenuItem" destination="nQ4-Nv-tox" id="dOD-xa-Rw4"/>
|
||||
<outlet property="whiteListModeMenuItem" destination="RvZ-Zn-29U" id="2v5-Bd-EDj"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
@@ -119,12 +122,6 @@
|
||||
<action selector="editUserRulesForPAC:" target="Voe-Tx-rLC" id="ZtK-2d-Pcl"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Edit Subscribe Feed" id="QJ6-eg-mzv">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="editSubscribeFeed:" target="Voe-Tx-rLC" id="V3v-T4-Rfn"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="bMX-qn-Qwi"/>
|
||||
<menuItem title="Advance Proxy Preference..." id="sbx-yz-3lO">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
@@ -140,6 +137,24 @@
|
||||
<modifierMask key="keyEquivalentModifierMask" shift="YES"/>
|
||||
<menu key="submenu" title="Servers" id="9Y1-db-3HK">
|
||||
<items>
|
||||
<menuItem title="Edit Subscribe Feed" id="QJ6-eg-mzv">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="editSubscribeFeed:" target="Voe-Tx-rLC" id="V3v-T4-Rfn"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Update Subscribe on App Start" id="nQ4-Nv-tox">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="updateSubscribeAtLaunch:" target="Voe-Tx-rLC" id="mCZ-VF-av8"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Manual Update Subscribe" id="NnE-Ad-1An">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="updateSubscribe:" target="Voe-Tx-rLC" id="Vno-Oh-0oc"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Show QR Code For Current Server..." id="R6A-96-Zcb">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
|
||||
@@ -15,11 +15,11 @@ class SubscribeManager:NSObject{
|
||||
let defaults = UserDefaults.standard
|
||||
|
||||
fileprivate override init() {
|
||||
subscribes = defaults.array(forKey: "Subscribe") as! [Subscribe]
|
||||
subscribes = defaults.array(forKey: "Subscribes") as! [Subscribe]
|
||||
}
|
||||
func addSubscribe(oneSubscribe: Subscribe) -> Bool {
|
||||
subscribes.append(oneSubscribe)
|
||||
defaults.set(subscribes, forKey: "Subscribe")
|
||||
defaults.set(subscribes, forKey: "Subscribes")
|
||||
return true
|
||||
}
|
||||
func deleteSubscribe(toDeleteSubscribe: Subscribe) -> Bool {
|
||||
@@ -28,7 +28,7 @@ class SubscribeManager:NSObject{
|
||||
subscribes.remove(at: index)
|
||||
}
|
||||
})
|
||||
defaults.set(subscribes, forKey: "Subscribe")
|
||||
defaults.set(subscribes, forKey: "Subscribes")
|
||||
return true
|
||||
}
|
||||
func updateAllServerFromSubscribe(){
|
||||
|
||||
@@ -18,16 +18,30 @@ class SubscribePreferenceWindowController: NSWindowController {
|
||||
@IBOutlet weak var GroupTextField: NSTextField!
|
||||
@IBOutlet weak var MaxCountTextField: NSTextField!
|
||||
|
||||
var sbMgr: SubscribeManager!
|
||||
var defaults: UserDefaults!
|
||||
|
||||
override func windowDidLoad() {
|
||||
super.windowDidLoad()
|
||||
|
||||
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
|
||||
// TODO load stored subscribes and prepare the manager
|
||||
sbMgr = SubscribeManager.instance
|
||||
defaults = UserDefaults.standard
|
||||
}
|
||||
|
||||
override func awakeFromNib() {
|
||||
// profilesTableView.register(forDraggedTypes: [tableViewDragType])
|
||||
// profilesTableView.allowsMultipleSelection = true
|
||||
}
|
||||
|
||||
@IBAction func onOk(_ sender: NSButton) {
|
||||
// TODO append to manager and save
|
||||
var subscribe = Subscribe.init(initUrlString: FeedTextField.stringValue, initGroupName: GroupTextField.stringValue, initToken: TokenTextField.stringValue, initMaxCount: MaxCountTextField.integerValue)
|
||||
let subscribe = Subscribe.init(initUrlString: FeedTextField.stringValue, initGroupName: GroupTextField.stringValue, initToken: TokenTextField.stringValue, initMaxCount: MaxCountTextField.integerValue)
|
||||
if subscribe.feedValidator() {
|
||||
_ = sbMgr.addSubscribe(oneSubscribe: subscribe)
|
||||
}
|
||||
subscribe.updateServerFromFeed()
|
||||
window?.performClose(self)
|
||||
}
|
||||
|
||||
|
||||
@@ -113,3 +113,10 @@
|
||||
|
||||
"sDG-YV-yuQ.title" = "ACL自动";
|
||||
|
||||
"NnE-Ad-1An.title" = "手动更新订阅";
|
||||
|
||||
"nQ4-Nv-tox.title" = "打开时自动更新订阅";
|
||||
|
||||
"QJ6-eg-mzv.title" = "编辑订阅";
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user