enum FleetViewPosition: Int {
case above = 0
+
case below = 1
+
case divided = 2
+
case oldStyle = 0xffffffff
}
case #keyPath(flagShipName): return [#keyPath(flagShipID)]
default: return []
+
}
}
@objc var flagShipID: Int = 0
@objc var flagShipName: String? {
+
return ServerDataStore.default.ship(by: flagShipID)?.name
}
NotificationCenter.default
.addObserver(forName: .CombinedDidCange, object: nil, queue: nil) {
- guard UserDefaults.standard[.autoCombinedView] else { return }
- guard let type = $0.userInfo?[CombinedCommand.userInfoKey] as? CombineType else { return }
+ guard UserDefaults.standard[.autoCombinedView] else {
+
+ return
+ }
+ guard let type = $0.userInfo?[CombinedCommand.userInfoKey] as? CombineType else {
+
+ return
+ }
if !Thread.isMainThread { Thread.sleep(forTimeInterval: 0.1) }
DispatchQueue.main.async {
switch type {
+
case .cancel:
self.hideCombinedView()
case .maneuver, .water, .transportation:
self.showCombinedView()
+
}
}
}
- if UserDefaults.standard[.lastHasCombinedView] { showCombinedView() }
+ if UserDefaults.standard[.lastHasCombinedView] {
+
+ showCombinedView()
+ }
}
override func swipe(with event: NSEvent) {
- guard UserDefaults.standard[.useSwipeChangeCombinedView] else { return }
+ guard UserDefaults.standard[.useSwipeChangeCombinedView] else {
+
+ return
+ }
if event.deltaX > 0 {
private func showCombinedView() {
- if isCombinedMode { return }
+ if isCombinedMode {
+
+ return
+ }
- if fleetViewPosition == .oldStyle { return }
+ if fleetViewPosition == .oldStyle {
+
+ return
+ }
isCombinedMode = true
private func hideCombinedView() {
- if !isCombinedMode { return }
+ if !isCombinedMode {
+
+ return
+ }
isCombinedMode = false
// call from menu item
@IBAction func selectView(_ sender: AnyObject?) {
- guard let tag = sender?.tag else { return }
+ guard let tag = sender?.tag else {
+
+ return
+ }
showView(number: tag)
}
// call from touch bar
@IBAction func changeMainTab(_ sender: AnyObject?) {
- guard let segment = sender?.selectedSegment else { return }
+ guard let segment = sender?.selectedSegment else {
+
+ return
+ }
showView(number: segment)
}
override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
- guard let action: Selector = menuItem.action else { return false }
+ guard let action: Selector = menuItem.action else {
+
+ return false
+ }
switch action {
return true
case #selector(BroserWindowController.fleetListAbove(_:)):
+
menuItem.state = (fleetViewPosition == .above ? .on : .off)
+
return true
case #selector(BroserWindowController.fleetListBelow(_:)):
+
menuItem.state = (fleetViewPosition == .below ? .on : .off)
+
return true
case #selector(BroserWindowController.fleetListDivide(_:)):
+
menuItem.state = (fleetViewPosition == .divided ? .on : .off)
+
return true
case #selector(BroserWindowController.fleetListSimple(_:)):
+
menuItem.state = (fleetViewPosition == .oldStyle ? .on : .off)
+
return true
case #selector(BroserWindowController.reorderToDoubleLine(_:)):
+
menuItem.state = (fleetViewController.shipOrder == .doubleLine ? .on : .off)
+
return true
case #selector(BroserWindowController.reorderToLeftToRight(_:)):
+
menuItem.state = (fleetViewController.shipOrder == .leftToRight ? .on: .off)
+
return true
case #selector(BroserWindowController.clearQuestList(_:)):
+
return true
case #selector(BroserWindowController.showHideCombinedView(_:)):
+
if isCombinedMode {
menuItem.title = LocalizedStrings.hideCombinedView.string
return true
case #selector(BroserWindowController.toggleAnchorageSize(_:)):
+
return true
case #selector(BroserWindowController.changeSakutekiCalculator(_:)):
+
return fleetViewController.validateMenuItem(menuItem)
default:
+
return false
+
}
}
}
private func changeFleetViewForFleetViewPositionIfNeeded(position newPosition: FleetViewPosition) {
- if fleetViewPosition == newPosition { return }
- if fleetViewPosition != .oldStyle && newPosition != .oldStyle { return }
- if newPosition == .oldStyle && isCombinedMode { hideCombinedView() }
+ if fleetViewPosition == newPosition {
+
+ return
+ }
+ if fleetViewPosition != .oldStyle && newPosition != .oldStyle {
+
+ return
+ }
+ if newPosition == .oldStyle && isCombinedMode {
+
+ hideCombinedView()
+ }
let type: FleetViewType = (newPosition == .oldStyle) ? .minimumViewType : .detailViewType
- guard let newController = FleetViewController(viewType: type) else { return }
+ guard let newController = FleetViewController(viewType: type) else {
+
+ return
+ }
newController.enableAnimation = true
newController.shipOrder = fleetViewController.shipOrder
private func windowHeightForFleetViewPosition(position newPosition: FleetViewPosition) -> CGFloat {
- guard var contentHeight = window!.contentView?.frame.size.height else { return 0.0 }
+ guard var contentHeight = window!.contentView?.frame.size.height else {
+
+ return 0.0
+ }
- if fleetViewPosition == newPosition { return contentHeight }
+ if fleetViewPosition == newPosition {
+
+ return contentHeight
+ }
if fleetViewPosition == .oldStyle {
contentHeight += FleetViewController.heightDifference
var contentRect = window!.frame
- if fleetViewPosition == newPosition { return contentRect }
+ if fleetViewPosition == newPosition {
+
+ return contentRect
+ }
if fleetViewPosition == .oldStyle {
contentRect.size.height += FleetViewController.heightDifference
var flashRect = gameViewController.view.frame
var flashY: CGFloat
switch newPosition {
+
case .above:
flashY = contentHeight - flashRect.height - fleetViewController.normalHeight
case .oldStyle:
flashY = contentHeight - flashRect.height - BroserWindowController.flashTopMargin
+
}
flashRect.origin.y = flashY
var fleetViewY: CGFloat
switch newPosition {
+
case .above:
fleetViewHeight = fleetViewController.normalHeight
fleetViewY = contentHeight - fleetViewHeight
case .oldStyle:
fleetViewHeight = FleetViewController.oldStyleFleetViewHeight
fleetViewY = contentHeight - fleetViewHeight - flashRect.height - BroserWindowController.margin - BroserWindowController.flashTopMargin
+
}
fleetListRect.size.height = fleetViewHeight
private func setFleetView(position newPosition: FleetViewPosition, animate: Bool) {
- guard let window = window else { return }
+ guard let window = window else {
+
+ return
+ }
changeFleetViewForFleetViewPositionIfNeeded(position: newPosition)
let winFrame = windowFrameForFleetViewPosition(position: newPosition)
func changeShowsExtShip(_ fleetViewController: FleetViewController, showsExtShip: Bool) {
- guard self.fleetViewController == fleetViewController else { return }
+ guard self.fleetViewController == fleetViewController else {
+
+ return
+ }
if isExtShpMode && !showsExtShip {
informantionViewController.selectionDidChangeHandler = { [weak self] in
- guard let `self` = self else { return }
+ guard let `self` = self else {
+
+ return
+ }
self.shipTypeButton.dismissPopover(nil)
- guard let button = self.shipTypeButton.view as? NSButton else { return }
+ guard let button = self.shipTypeButton.view as? NSButton else {
+
+ return
+ }
button.isHidden = !self.informantionViewController.hasShipTypeSelector
self.shipTypeSegment.bind(.selectedIndex,