forked from I2P_Developers/i2p.i2p
Mac OS X Launcher:
* In general bugfixes * Introduced event manager for better control flow * Splitted RouterStatusView to own file * Added shell script to setup and produce dmg file
This commit is contained in:
@ -12,9 +12,6 @@ class PopoverViewController: NSViewController {
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
super.init(coder: coder)
|
||||
//super.init(nibName: "UserInterfaces", bundle: Bundle.main)!
|
||||
//let nib = NSNib(nibNamed: "UserInterfaces", bundle: Bundle.main)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -22,83 +19,6 @@ class PopoverViewController: NSViewController {
|
||||
super.viewDidLoad()
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@objc class RouterStatusView : NSView {
|
||||
static var instance: RouterStatusView?
|
||||
|
||||
static func getInstance() -> RouterStatusView? {
|
||||
if (self.instance != Optional.none) {
|
||||
return RouterStatusView.instance
|
||||
}
|
||||
return Optional.none
|
||||
}
|
||||
|
||||
@IBOutlet var routerStatusLabel: NSTextField?
|
||||
@IBOutlet var routerVersionLabel: NSTextField?
|
||||
@IBOutlet var routerStartedByLabel: NSTextField?
|
||||
@IBOutlet var routerUptimeLabel: NSTextField?
|
||||
|
||||
@IBOutlet var quickControlView: NSView?
|
||||
@IBOutlet var routerStartStopButton: NSButton?
|
||||
|
||||
|
||||
@objc func actionBtnStartRouter(_ sender: Any?) {
|
||||
NSLog("START ROUTER")
|
||||
(sender as! NSButton).cell?.stringValue = "Stop Router"
|
||||
let timeWhenStarted = Date()
|
||||
RouterProcessStatus.routerStartedAt = timeWhenStarted
|
||||
SwiftMainDelegate.objCBridge.startupI2PRouter(RouterProcessStatus.i2pDirectoryPath, javaBinPath: RouterProcessStatus.knownJavaBinPath!)
|
||||
}
|
||||
@objc func actionBtnStopRouter(_ sender: Any?) {
|
||||
NSLog("STOP ROUTER")
|
||||
}
|
||||
@objc func actionBtnRestartRouter(sender: Any?) {}
|
||||
|
||||
override func viewWillDraw() {
|
||||
super.viewWillDraw()
|
||||
if (RouterStatusView.instance != nil) {
|
||||
RouterStatusView.instance = self
|
||||
}
|
||||
self.setRouterStatusLabelText()
|
||||
}
|
||||
|
||||
func setRouterStatusLabelText() {
|
||||
if (RouterProcessStatus.isRouterRunning) {
|
||||
routerStatusLabel?.cell?.stringValue = "Router status: Running"
|
||||
routerStartStopButton?.action = #selector(self.actionBtnStopRouter(_:))
|
||||
} else {
|
||||
routerStatusLabel?.cell?.stringValue = "Router status: Not running"
|
||||
routerStartStopButton?.action = #selector(self.actionBtnStartRouter(_:))
|
||||
}
|
||||
routerStartStopButton?.needsDisplay = true
|
||||
routerStartStopButton?.target = self
|
||||
quickControlView?.needsDisplay = true
|
||||
|
||||
if let version = RouterProcessStatus.routerVersion {
|
||||
routerVersionLabel?.cell?.stringValue = "Router version: " + version
|
||||
} else {
|
||||
routerVersionLabel?.cell?.stringValue = "Router version: Still unknown"
|
||||
}
|
||||
if let routerStartTime = RouterProcessStatus.routerStartedAt {
|
||||
routerUptimeLabel?.cell?.stringValue = "Router has runned for " + DateTimeUtils.timeAgoSinceDate(date: NSDate(date: routerStartTime), numericDates: false)
|
||||
}
|
||||
}
|
||||
|
||||
init() {
|
||||
let c = NSCoder()
|
||||
super.init(coder: c)!
|
||||
self.setRouterStatusLabelText()
|
||||
}
|
||||
|
||||
required init?(coder decoder: NSCoder) {
|
||||
super.init(coder: decoder)
|
||||
self.setRouterStatusLabelText()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user