diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift index a71c3db..2ae6ad0 100644 --- a/ShadowsocksX-NG/AppDelegate.swift +++ b/ShadowsocksX-NG/AppDelegate.swift @@ -169,6 +169,11 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele UpdatePACFromGFWList() } + @IBAction func editUserRulesForPAC(sender: NSMenuItem) { + let url = NSURL(fileURLWithPath: PACUserRuleFilePath) + NSWorkspace.sharedWorkspace().openURL(url) + } + @IBAction func showQRCodeForCurrentServer(sender: NSMenuItem) { var errMsg: String? let mgr = ServerProfileManager() diff --git a/ShadowsocksX-NG/Base.lproj/MainMenu.xib b/ShadowsocksX-NG/Base.lproj/MainMenu.xib index 60ee574..34d0e68 100644 --- a/ShadowsocksX-NG/Base.lproj/MainMenu.xib +++ b/ShadowsocksX-NG/Base.lproj/MainMenu.xib @@ -77,6 +77,12 @@ + + + + + + diff --git a/ShadowsocksX-NG/PACUtils.swift b/ShadowsocksX-NG/PACUtils.swift index 9bb1c12..5e9fad9 100644 --- a/ShadowsocksX-NG/PACUtils.swift +++ b/ShadowsocksX-NG/PACUtils.swift @@ -110,7 +110,7 @@ func GeneratePACFile() -> Bool { } func UpdatePACFromGFWList() { - // Maker the dir if rulesDirPath is not exesited. + // Make the dir if rulesDirPath is not exesited. if !NSFileManager.defaultManager().fileExistsAtPath(PACRulesDirPath) { do { try NSFileManager.defaultManager().createDirectoryAtPath(PACRulesDirPath