let vc = JSONViewWindowController()
vc.showWindow(nil)
+
return vc
}()
#else
let vc = UITestWindowController()
vc.showWindow(nil)
+
return vc
}()
#else
private lazy var shipMDWindowController: ShipMasterDetailWindowController = {
ShipMasterDetailWindowController()
- } ()
+ }()
private lazy var equipmentWindowController: EquipmentWindowController = {
var isMainWindowMostFront: Bool {
- guard let window = browserWindowController.window else { return false }
+ guard let window = browserWindowController.window else {
+
+ return false
+ }
return isFrontMostWindow(window)
}
browserWindowControllers.append(browser)
browser.window?.makeKeyAndOrderFront(nil)
- weak var token: NSObjectProtocol! = nil
-
- token = NotificationCenter.default
- .addObserver(forName: NSWindow.willCloseNotification, object: browser.window, queue: nil) { [unowned self] notification in
+ NotificationCenter.default
+ .addObserverOnce(forName: NSWindow.willCloseNotification, object: browser.window, queue: nil) { [unowned self] notification in
- NotificationCenter.default.removeObserver(token)
if let obj = notification.object as? NSWindow,
let index = self.browserWindowControllers.index(where: { $0.window == obj }) {
return browser
}
-
- func registerScreenshot(_ image: NSBitmapImageRep, fromOnScreen: NSRect) {
-
- screenshotListWindowController.registerScreenshot(image, fromOnScreen: fromOnScreen)
- }
}
// MARK: - IBActions
private func makeFrontOrOrderOut(_ window: NSWindow?) {
- guard let window = window else { return }
+ guard let window = window else {
+
+ return
+ }
isFrontMostWindow(window) ? window.orderOut(nil) : window.makeKeyAndOrderFront(nil)
}
panel.begin {
- guard $0 == .OK else { return }
- guard let url = panel.url else { return }
- guard let array = self.jsonViewWindowController?.commands else { return }
+ guard $0 == .OK else {
+
+ return
+ }
+ guard let url = panel.url else {
+
+ return
+ }
+ guard let array = self.jsonViewWindowController?.commands else {
+
+ return
+ }
let data = NSKeyedArchiver.archivedData(withRootObject: array)
panel.begin {
- guard $0 == .OK else { return }
- guard let url = panel.url else { return }
+ guard $0 == .OK else {
+
+ return
+ }
+ guard let url = panel.url else {
+
+ return
+ }
do {
let data = try Data(contentsOf: url)
let array = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data)
- guard let commands = array as? [[String: Any]] else { return }
+ guard let commands = array as? [[String: Any]] else {
+
+ return
+ }
self.logedJSONViewWindowController = JSONViewWindowController()
self.logedJSONViewWindowController?.commands = commands
}
}
- private func setTitle(_ menuItem: NSMenuItem, _ window: NSWindow?, _ showLabel: String, _ hideLabel: String) {
+ private func setTitle(to menuItem: NSMenuItem, frontWindow window: NSWindow?, show showLabel: String, hide hideLabel: String) {
- guard let window = window else { return }
+ guard let window = window else {
+
+ return
+ }
if isFrontMostWindow(window) {
func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
- guard let action = menuItem.action else { return false }
+ guard let action = menuItem.action else {
+
+ return false
+ }
switch action {
case #selector(WindowManager.showHideHistory(_:)):
- setTitle(menuItem,
- historyWindowController.window,
- LocalizedStrings.showHistory.string,
- LocalizedStrings.hideHistory.string)
+
+ setTitle(to: menuItem,
+ frontWindow: historyWindowController.window,
+ show: LocalizedStrings.showHistory.string,
+ hide: LocalizedStrings.hideHistory.string)
+
return true
case #selector(WindowManager.showHideSlotItemWindow(_:)):
- setTitle(menuItem,
- slotItemWindowController.window,
- LocalizedStrings.showSlotItem.string,
- LocalizedStrings.hideSlotItem.string)
+
+ setTitle(to: menuItem,
+ frontWindow: slotItemWindowController.window,
+ show: LocalizedStrings.showSlotItem.string,
+ hide: LocalizedStrings.hideSlotItem.string)
+
return true
case #selector(WindowManager.showHideUpgradableShipWindow(_:)):
- setTitle(menuItem,
- upgradableShipWindowController.window,
- LocalizedStrings.showUpgradableShips.string,
- LocalizedStrings.hideUpgradableShips.string)
+
+ setTitle(to: menuItem,
+ frontWindow: upgradableShipWindowController.window,
+ show: LocalizedStrings.showUpgradableShips.string,
+ hide: LocalizedStrings.hideUpgradableShips.string)
+
return true
case #selector(WindowManager.showHideScreenshotListWindow(_:)):
- setTitle(menuItem,
- screenshotListWindowController.window,
- LocalizedStrings.showScreenshotList.string,
- LocalizedStrings.hideScreenshotList.string)
+
+ setTitle(to: menuItem,
+ frontWindow: screenshotListWindowController.window,
+ show: LocalizedStrings.showScreenshotList.string,
+ hide: LocalizedStrings.hideScreenshotList.string)
+
return true
case #selector(WindowManager.showHideAirBaseInfoWindow(_:)):
- setTitle(menuItem,
- airBaseWindowController.window,
- LocalizedStrings.showAirbaseInfo.string,
- LocalizedStrings.hideAirbaseInfo.string)
+
+ setTitle(to: menuItem,
+ frontWindow: airBaseWindowController.window,
+ show: LocalizedStrings.showAirbaseInfo.string,
+ hide: LocalizedStrings.hideAirbaseInfo.string)
+
return true
case #selector(WindowManager.showHidePreferencePanle(_:)):
+
return true
case #selector(WindowManager.openNewBrowser(_:)):
+
return true
case #selector(WindowManager.selectBookmark(_:)):
+
return true
case #selector(WindowManager.showWindowAduster(_:)):
+
return true
case #selector(WindowManager.showShipWindow(_:)),
return canSaveLog
default:
+
return false
}
}