forked from I2P_Developers/i2p.i2p
Mac OS X Launcher: Adding selectors for Preferences window launch, and for view of experimental console webview.
This commit is contained in:
@@ -20,6 +20,9 @@ class PopoverViewController: NSViewController {
|
||||
super.init(coder: coder)
|
||||
}
|
||||
|
||||
@IBAction func onPreferencesClick(_ sender: Any) {
|
||||
StatusBarController.launchPreferences(sender)
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
@@ -16,6 +16,8 @@ import Cocoa
|
||||
let storyboard = NSStoryboard(name: "Storyboard", bundle: Bundle.main)
|
||||
|
||||
var ctrl : PopoverViewController?
|
||||
private static var preferencesController: NSWindowController?
|
||||
private static var experimentalConsoleViewController: NSWindowController?
|
||||
|
||||
@IBOutlet var routerStatusTabView: RouterStatusView?
|
||||
|
||||
@@ -31,15 +33,60 @@ import Cocoa
|
||||
/*let updateMenuItem = NSMenuItem(title: "Check for updates", action: #selector(self.updateObjectRef?.checkForUpdates(_:)), keyEquivalent: "U")
|
||||
updateMenuItem.isEnabled = true
|
||||
*/
|
||||
|
||||
let preferencesMenuItem = NSMenuItem(title: "Preferences", action: #selector(StatusBarController.launchPreferences(_:)), keyEquivalent: "P")
|
||||
preferencesMenuItem.isEnabled = true
|
||||
|
||||
menu.addItem(NSMenuItem(title: "Open I2P Console", action: #selector(self.handleOpenConsole(_:)), keyEquivalent: "O"))
|
||||
menu.addItem(NSMenuItem.separator())
|
||||
//menu.addItem(updateMenuItem)
|
||||
menu.addItem(preferencesMenuItem)
|
||||
menu.addItem(NSMenuItem.separator())
|
||||
menu.addItem(NSMenuItem(title: "Quit I2P Launcher", action: #selector(SwiftMainDelegate.terminate(_:)), keyEquivalent: "q"))
|
||||
|
||||
return menu
|
||||
}
|
||||
|
||||
static func onExperimentalConsoleViewClick(_ sender: NSButton) {
|
||||
if #available(OSX 10.12, *) {
|
||||
print("Clicked for Experimental Console WebView")
|
||||
if !(experimentalConsoleViewController != nil) {
|
||||
let storyboard = NSStoryboard(name: "ConsoleWebView", bundle: Bundle.main)
|
||||
experimentalConsoleViewController = storyboard.instantiateInitialController() as? NSWindowController
|
||||
print("created experimental console webview controller")
|
||||
}
|
||||
if (experimentalConsoleViewController != nil) {
|
||||
experimentalConsoleViewController!.showWindow(sender)
|
||||
print("trying to view: Console WebView")
|
||||
}
|
||||
} else {
|
||||
// Sorry, only OSX >= 10.12
|
||||
}
|
||||
}
|
||||
|
||||
static func launchPreferences(_ sender: Any) {
|
||||
print("Preferences clicked")
|
||||
if !(preferencesController != nil) {
|
||||
let storyboard = NSStoryboard(name: "Preferences", bundle: Bundle.main)
|
||||
preferencesController = storyboard.instantiateInitialController() as? NSWindowController
|
||||
print("created preferences controller")
|
||||
}
|
||||
if (preferencesController != nil) {
|
||||
NSApp.activate(ignoringOtherApps: true)
|
||||
preferencesController!.showWindow(sender)
|
||||
print("trying to view: Preferences")
|
||||
}
|
||||
}
|
||||
|
||||
static func launchRouterConsole(_ sender: Any) {
|
||||
if (!Preferences.shared().featureToggleExperimental) {
|
||||
// The normal...
|
||||
NSWorkspace.shared().open(URL(string: "http://127.0.0.1:7657")!)
|
||||
} else {
|
||||
// Experimental
|
||||
}
|
||||
}
|
||||
|
||||
func pidReaction(information:Any?){
|
||||
let pidStr = information as! String
|
||||
NSLog("PID! %@", pidStr)
|
||||
@@ -73,7 +120,6 @@ import Cocoa
|
||||
@IBAction func openConsoleClicked(_ sender: Any) {
|
||||
NSLog("openConsoleClicked got clicked")
|
||||
let realSender = sender as! NSMenuItem
|
||||
NSWorkspace.shared().open(URL(string: "http://127.0.0.1:7657")!)
|
||||
NSLog("Sender: @%", realSender)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user