Mac OS X Launcher: Adding selectors for Preferences window launch, and for view of experimental console webview.

This commit is contained in:
meeh
2018-12-08 09:08:22 +00:00
parent b8681ddf9d
commit eca5805195
2 changed files with 50 additions and 1 deletions

View File

@@ -20,6 +20,9 @@ class PopoverViewController: NSViewController {
super.init(coder: coder)
}
@IBAction func onPreferencesClick(_ sender: Any) {
StatusBarController.launchPreferences(sender)
}
override func viewDidLoad() {
super.viewDidLoad()

View File

@@ -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)
}