OSDN Git Service

swiftlint 'line_length'の警告を修正
authormasakih <masakih@users.sourceforge.jp>
Tue, 14 Mar 2017 13:01:17 +0000 (22:01 +0900)
committermasakih <masakih@users.sourceforge.jp>
Tue, 14 Mar 2017 13:01:17 +0000 (22:01 +0900)
32 files changed:
.swiftlint.yml
KCD/AirBaseWindowController.swift
KCD/AncherageRepairTimerViewController.swift
KCD/AppDelegate.swift
KCD/ApplicationDirecrories.swift
KCD/BookmarkListViewController.swift
KCD/BookmarkManager.swift
KCD/BridgeViewController.swift
KCD/BroserWindowController.swift
KCD/CollectionView.swift
KCD/CoreDataCore.swift
KCD/Debug.swift
KCD/DocksViewController.swift
KCD/EnhancementListItem.swift
KCD/ExternalBrowserWindowController.swift
KCD/Fleet.swift
KCD/FleetManager.swift
KCD/GameViewController.swift
KCD/LocalDataStore.swift
KCD/PeriodicNotifier.swift
KCD/PowerUpSupportViewController.swift
KCD/PreferencePanelController.swift
KCD/ScreenshotDetailViewController.swift
KCD/ScreenshotEditorViewController.swift
KCD/ScreenshotListViewController.swift
KCD/ScreenshotListWindowController.swift
KCD/ShipViewController.swift
KCD/SlotItemLevelView.swift
KCD/StrengthenListViewController.swift
KCD/StrokeTextFieldCell.swift
KCD/SuppliesView.swift
KCD/TiledImageView.swift

index 62fbffb..b42c951 100644 (file)
@@ -10,7 +10,6 @@ disabled_rules:
     - trailing_whitespace
 file_length:
     warning: 500
-line_length: 500
 variable_name:
   max_length:
     warning: 40
index 94f0df5..84db708 100644 (file)
@@ -44,7 +44,10 @@ class AirBaseWindowController: NSWindowController {
         updatePlaneSegment()
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         guard keyPath == "content" else {
             super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
             return
index 9f0d994..6772cc0 100644 (file)
@@ -25,7 +25,7 @@ class AncherageRepairTimerViewController: NSViewController {
         willSet {
             if controlSize == newValue { return }
             var frame = view.frame
-            frame.size.height = newValue == .regular ? AncherageRepairTimerViewController.regularHeight : AncherageRepairTimerViewController.smallHeight
+            frame.size.height = (newValue == .regular ? type(of: self).regularHeight : type(of: self).smallHeight)
             view.frame = frame
             
             var buttonFrame = screenshotButton.frame
@@ -56,7 +56,10 @@ class AncherageRepairTimerViewController: NSViewController {
         view.trackingAreas.forEach {
             view.removeTrackingArea($0)
         }
-        trackingArea = NSTrackingArea(rect: screenshotButton.frame, options: [.mouseEnteredAndExited, .activeInActiveApp], owner: self, userInfo: nil)
+        trackingArea = NSTrackingArea(rect: screenshotButton.frame,
+                                      options: [.mouseEnteredAndExited, .activeInActiveApp],
+                                      owner: self,
+                                      userInfo: nil)
         view.addTrackingArea(trackingArea!)
     }
     
index 5c5d570..8e2a01c 100644 (file)
@@ -72,22 +72,42 @@ class AppDelegate: NSObject {
     @IBOutlet var debugMenuItem: NSMenuItem!
     @IBOutlet var billingWindowMenuItem: NSMenuItem!
     
-    private lazy var historyWindowController: HistoryWindowController = { HistoryWindowController() }()
-    private lazy var slotItemWindowController: SlotItemWindowController = { SlotItemWindowController() }()
-    private lazy var preferencePanelController: PreferencePanelController = { PreferencePanelController() }()
-    private lazy var upgradableShipWindowController: UpgradableShipsWindowController = { UpgradableShipsWindowController() }()
-    private lazy var airBaseWindowController: AirBaseWindowController = { AirBaseWindowController() }()
-    private lazy var browserContentAdjuster: BrowserContentAdjuster = { BrowserContentAdjuster() }()
+    private lazy var historyWindowController: HistoryWindowController = {
+        HistoryWindowController()
+    }()
+    private lazy var slotItemWindowController: SlotItemWindowController = {
+        SlotItemWindowController()
+    }()
+    private lazy var preferencePanelController: PreferencePanelController = {
+        PreferencePanelController()
+    }()
+    private lazy var upgradableShipWindowController: UpgradableShipsWindowController = {
+        UpgradableShipsWindowController()
+    }()
+    private lazy var airBaseWindowController: AirBaseWindowController = {
+        AirBaseWindowController()
+    }()
+    private lazy var browserContentAdjuster: BrowserContentAdjuster = {
+        BrowserContentAdjuster()
+    }()
     private(set) lazy var screenshotListWindowController: ScreenshotListWindowController = {
         let wc = ScreenshotListWindowController()
         let _ = wc.window
         return wc
     }()
     
-    private lazy var shipWindowController: ShipWindowController = { ShipWindowController() }()
-    private lazy var shipMDWindowController: ShipMasterDetailWindowController = { ShipMasterDetailWindowController() } ()
-    private lazy var equipmentWindowController: EquipmentWindowController = { EquipmentWindowController() }()
-    private lazy var mapWindowController: MapWindowController = { MapWindowController() }()
+    private lazy var shipWindowController: ShipWindowController = {
+        ShipWindowController()
+    }()
+    private lazy var shipMDWindowController: ShipMasterDetailWindowController = {
+        ShipMasterDetailWindowController()
+    } ()
+    private lazy var equipmentWindowController: EquipmentWindowController = {
+        EquipmentWindowController()
+    }()
+    private lazy var mapWindowController: MapWindowController = {
+        MapWindowController()
+    }()
     
     private var browserWindowControllers: [ExternalBrowserWindowController] = []
     private var updaters: [() -> Void] = []
@@ -147,7 +167,9 @@ class AppDelegate: NSObject {
         browser.window?.makeKeyAndOrderFront(nil)
         var token: NSObjectProtocol! = nil
         token = NotificationCenter.default
-            .addObserver(forName: .NSWindowWillClose, object: browser.window, queue: nil) { [unowned self] notification in
+            .addObserver(forName: .NSWindowWillClose,
+                         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 })
@@ -351,7 +373,8 @@ extension AppDelegate: NSApplicationDelegate {
 }
 
 extension AppDelegate: NSUserNotificationCenterDelegate {
-    func userNotificationCenter(_ center: NSUserNotificationCenter, shouldPresent notification: NSUserNotification) -> Bool {
+    func userNotificationCenter(_ center: NSUserNotificationCenter,
+                                shouldPresent notification: NSUserNotification) -> Bool {
         return true
     }
 }
index 005f611..0a93cea 100644 (file)
@@ -10,10 +10,19 @@ import Foundation
 
 struct ApplicationDirecrories {
     static let support: URL = {
-        let url = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).last ?? URL(fileURLWithPath: NSHomeDirectory())
+        let url = FileManager
+            .default
+            .urls(for: .applicationSupportDirectory,
+                  in: .userDomainMask).last ?? URL(fileURLWithPath: NSHomeDirectory())
         return url.appendingPathComponent("com.masakih.KCD")
     }()
     
-    static let documents = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last ?? URL(fileURLWithPath: NSHomeDirectory())
-    static let pictures = FileManager.default.urls(for: .picturesDirectory, in: .userDomainMask).last ?? URL(fileURLWithPath: NSHomeDirectory())
+    static let documents = FileManager
+        .default
+        .urls(for: .documentDirectory,
+              in: .userDomainMask).last ?? URL(fileURLWithPath: NSHomeDirectory())
+    static let pictures = FileManager
+        .default
+        .urls(for: .picturesDirectory,
+              in: .userDomainMask).last ?? URL(fileURLWithPath: NSHomeDirectory())
 }
index 0ab7be7..fd0de03 100644 (file)
@@ -88,16 +88,25 @@ extension BookmarkListViewController: NSTableViewDelegate, NSTableViewDataSource
             else { return nil }
         return objects[row]
     }
-    func tableView(_ tableView: NSTableView, draggingSession session: NSDraggingSession, willBeginAt screenPoint: NSPoint, forRowIndexes rowIndexes: IndexSet) {
+    func tableView(_ tableView: NSTableView,
+                   draggingSession session: NSDraggingSession,
+                   willBeginAt screenPoint: NSPoint,
+                   forRowIndexes rowIndexes: IndexSet) {
         guard let first = rowIndexes.first,
             let last = rowIndexes.last
             else { return }
         objectRange = first...last
     }
-    func tableView(_ tableView: NSTableView, draggingSession session: NSDraggingSession, endedAt screenPoint: NSPoint, operation: NSDragOperation) {
+    func tableView(_ tableView: NSTableView,
+                   draggingSession session: NSDraggingSession,
+                   endedAt screenPoint: NSPoint,
+                   operation: NSDragOperation) {
         objectRange = 0...0
     }
-    func tableView(_ tableView: NSTableView, validateDrop info: NSDraggingInfo, proposedRow row: Int, proposedDropOperation dropOperation: NSTableViewDropOperation) -> NSDragOperation {
+    func tableView(_ tableView: NSTableView,
+                   validateDrop info: NSDraggingInfo,
+                   proposedRow row: Int,
+                   proposedDropOperation dropOperation: NSTableViewDropOperation) -> NSDragOperation {
         guard dropOperation == .above,
             !(objectRange ~= row),
             let tableView = info.draggingSource() as? NSTableView,
@@ -105,7 +114,10 @@ extension BookmarkListViewController: NSTableViewDelegate, NSTableViewDataSource
             else { return [] }
         return .move
     }
-    func tableView(_ tableView: NSTableView, acceptDrop info: NSDraggingInfo, row: Int, dropOperation: NSTableViewDropOperation) -> Bool {
+    func tableView(_ tableView: NSTableView,
+                   acceptDrop info: NSDraggingInfo,
+                   row: Int,
+                   dropOperation: NSTableViewDropOperation) -> Bool {
         tableView.beginUpdates()
         defer { tableView.endUpdates() }
         
index c99b02b..6e5c11e 100644 (file)
@@ -76,7 +76,9 @@ class BookmarkManager: NSObject, NSMenuDelegate {
         }
         
         bookmarks.forEach {
-            let item = NSMenuItem(title: $0.name, action:  #selector(ExternalBrowserWindowController.selectBookmark(_:)), keyEquivalent: "")
+            let item = NSMenuItem(title: $0.name,
+                                  action:  #selector(ExternalBrowserWindowController.selectBookmark(_:)),
+                                  keyEquivalent: "")
             item.representedObject = $0
             bookmarkMenu.addItem(item)
         }
index 0320025..8ad11a1 100644 (file)
@@ -72,17 +72,22 @@ extension BridgeViewController: NSSharingServicePickerDelegate, ScreenshotSharin
     }
 }
 extension BridgeViewController: NSSharingServiceDelegate {
-    func sharingServicePicker(_ sharingServicePicker: NSSharingServicePicker, delegateFor sharingService: NSSharingService) -> NSSharingServiceDelegate? {
+    func sharingServicePicker(_ sharingServicePicker: NSSharingServicePicker,
+                              delegateFor sharingService: NSSharingService) -> NSSharingServiceDelegate? {
         return self
     }
     
     func sharingService(_ sharingService: NSSharingService, sourceFrameOnScreenForShareItem item: Any) -> NSRect {
         return self.view.window?.convertToScreen(contentRect) ?? .zero
     }
-    func sharingService(_ sharingService: NSSharingService, transitionImageForShareItem item: Any, contentRect: UnsafeMutablePointer<NSRect>) -> NSImage? {
+    func sharingService(_ sharingService: NSSharingService,
+                        transitionImageForShareItem item: Any,
+                        contentRect: UnsafeMutablePointer<NSRect>) -> NSImage? {
         return item as? NSImage
     }
-    func sharingService(_ sharingService: NSSharingService, sourceWindowForShareItems items: [Any], sharingContentScope: UnsafeMutablePointer<NSSharingContentScope>) -> NSWindow? {
+    func sharingService(_ sharingService: NSSharingService,
+                        sourceWindowForShareItems items: [Any],
+                        sharingContentScope: UnsafeMutablePointer<NSSharingContentScope>) -> NSWindow? {
         return view.window
     }
 }
index 4cdf92e..f38f8d2 100644 (file)
@@ -351,7 +351,10 @@ extension BroserWindowController {
         case .below:
             flashY = contentHeight - flashRect.height
         case .divided:
-            flashY = contentHeight - flashRect.height - fleetViewController.upsideHeight - BroserWindowController.margin
+            flashY = contentHeight
+                - flashRect.height
+                - fleetViewController.upsideHeight
+                - BroserWindowController.margin
         case .oldStyle:
             flashY = contentHeight - flashRect.height - BroserWindowController.flashTopMargin
         }
@@ -371,13 +374,23 @@ extension BroserWindowController {
             fleetViewY = contentHeight - fleetViewHeight
         case .below:
             fleetViewHeight = fleetViewController.normalHeight
-            fleetViewY = contentHeight - fleetViewHeight - flashRect.height - BroserWindowController.margin
+            fleetViewY = contentHeight
+                - fleetViewHeight
+                - flashRect.height
+                - BroserWindowController.margin
         case .divided:
-            fleetViewHeight = fleetViewController.normalHeight + flashRect.height + BroserWindowController.margin + BroserWindowController.margin
+            fleetViewHeight = fleetViewController.normalHeight
+                + flashRect.height
+                + BroserWindowController.margin
+                + BroserWindowController.margin
             fleetViewY = contentHeight - fleetViewHeight
         case .oldStyle:
             fleetViewHeight = FleetViewController.oldStyleFleetViewHeight
-            fleetViewY = contentHeight - fleetViewHeight - flashRect.height - BroserWindowController.margin - BroserWindowController.flashTopMargin
+            fleetViewY = contentHeight
+                - fleetViewHeight
+                - flashRect.height
+                - BroserWindowController.margin
+                - BroserWindowController.flashTopMargin
         }
         fleetListRect.size.height = fleetViewHeight
         fleetListRect.origin.y = fleetViewY
@@ -449,7 +462,10 @@ extension BroserWindowController {
             var array: NSArray = []
             Bundle.main.loadNibNamed("BroswerTouchBar", owner: self, topLevelObjects: &array)
             
-            shipTypeSegment.bind(NSSelectedIndexBinding, to: tabViewItemViewControllers[0], withKeyPath: "selectedShipType", options: nil)
+            shipTypeSegment.bind(NSSelectedIndexBinding,
+                                 to: tabViewItemViewControllers[0],
+                                 withKeyPath: "selectedShipType",
+                                 options: nil)
             let o = selectedMainTabIndex
             selectedMainTabIndex = o
             
@@ -459,7 +475,10 @@ extension BroserWindowController {
                 guard let button = self.shipTypeButton.view as? NSButton else { return }
                 let vc = self.tabViewItemViewControllers[newValue]
                 button.isHidden = !vc.hasShipTypeSelector
-                self.shipTypeSegment.bind(NSSelectedIndexBinding, to: vc, withKeyPath: "selectedShipType", options: nil)
+                self.shipTypeSegment.bind(NSSelectedIndexBinding,
+                                          to: vc,
+                                          withKeyPath: "selectedShipType",
+                                          options: nil)
             }
         }
         return mainTouchBar
index d449b68..61dcd44 100644 (file)
@@ -19,7 +19,10 @@ class CollectionView: NSCollectionView {
         self.removeObserver(self, forKeyPath: "selectionIndexPaths")
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey : Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if let o = object as? CollectionView, o == self {
             if !QLPreviewPanel.sharedPreviewPanelExists() { return }
             if !QLPreviewPanel.shared().isVisible { return }
index 817363c..feebf9d 100644 (file)
@@ -111,15 +111,16 @@ private class CoreDataRemover {
 }
 
 private class MocGenerater {
-    class func genarate(_ info: CoreDataIntormation) throws -> (model: NSManagedObjectModel, coordinator: NSPersistentStoreCoordinator, moc: NSManagedObjectContext) {
-        do {
-            let model = try createManagedObjectModel(info)
-            let coordinator = try createPersistentStoreCoordinator(info, model)
-            let moc = createManagedObjectContext(coordinator)
-            return (model: model, coordinator: coordinator, moc: moc)
-        } catch {
-            throw error
-        }
+    class func genarate(_ info: CoreDataIntormation) throws ->
+        (model: NSManagedObjectModel, coordinator: NSPersistentStoreCoordinator, moc: NSManagedObjectContext) {
+            do {
+                let model = try createManagedObjectModel(info)
+                let coordinator = try createPersistentStoreCoordinator(info, model)
+                let moc = createManagedObjectContext(coordinator)
+                return (model: model, coordinator: coordinator, moc: moc)
+            } catch {
+                throw error
+            }
     }
     
     private class func createManagedObjectModel(_ info: CoreDataIntormation) throws -> NSManagedObjectModel {
@@ -129,8 +130,9 @@ private class MocGenerater {
         }
         return model
     }
-    
-    private class func createPersistentStoreCoordinator(_ info: CoreDataIntormation, _ model: NSManagedObjectModel) throws -> NSPersistentStoreCoordinator {
+    // swiftlint:disable:next line_length function_body_length
+    private class func createPersistentStoreCoordinator(_ info: CoreDataIntormation, _ model: NSManagedObjectModel)
+        throws -> NSPersistentStoreCoordinator {
         var failError: NSError? = nil
         var shouldFail = false
         var failureReason = "There was an error creating or loading the application's saved data."
@@ -138,6 +140,7 @@ private class MocGenerater {
         do {
             let p = try ApplicationDirecrories.support.resourceValues(forKeys: [.isDirectoryKey])
             if !p.isDirectory! {
+                // swiftlint:disable:next line_length
                 failureReason = "Expected a folder to store application data, found a file \(ApplicationDirecrories.support.path)."
                 shouldFail = true
             }
@@ -145,7 +148,11 @@ private class MocGenerater {
             let nserror = error as NSError
             if nserror.code == NSFileReadNoSuchFileError {
                 do {
-                    try FileManager.default.createDirectory(at: ApplicationDirecrories.support, withIntermediateDirectories: false, attributes: nil)
+                    try FileManager
+                        .default
+                        .createDirectory(at: ApplicationDirecrories.support,
+                                         withIntermediateDirectories: false,
+                                         attributes: nil)
                 } catch {
                     failError = nserror
                 }
@@ -159,15 +166,23 @@ private class MocGenerater {
             coordinator = NSPersistentStoreCoordinator(managedObjectModel: model)
             let url = ApplicationDirecrories.support.appendingPathComponent(info.storeFileName)
             do {
-                try coordinator!.addPersistentStore(ofType: info.storeType, configurationName: nil, at: url, options: info.storeOptions)
+                try coordinator!.addPersistentStore(ofType: info.storeType,
+                                                    configurationName: nil,
+                                                    at: url,
+                                                    options: info.storeOptions)
             } catch {
                 failError = error as NSError
                 
                 // Data Modelが更新されていたらストアファイルを削除してもう一度
-                if failError?.domain == NSCocoaErrorDomain && (failError?.code == 134130 || failError?.code == 134110) && info.deleteAndRetry {
+                if failError?.domain == NSCocoaErrorDomain,
+                    (failError?.code == 134130 || failError?.code == 134110),
+                    info.deleteAndRetry {
                     self.removeDatabaseFile(info)
                     do {
-                        try coordinator!.addPersistentStore(ofType: info.storeType, configurationName: nil, at: url, options: info.storeOptions)
+                        try coordinator!.addPersistentStore(ofType: info.storeType,
+                                                            configurationName: nil,
+                                                            at: url,
+                                                            options: info.storeOptions)
                         failError = nil
                     } catch {
                         failError = error as NSError
@@ -184,6 +199,7 @@ private class MocGenerater {
         }
         return coordinator!
     }
+    // swiftlint:disable:next line_length
     private class func createManagedObjectContext(_ coordinator: NSPersistentStoreCoordinator) -> NSManagedObjectContext {
         let moc = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
         moc.persistentStoreCoordinator = coordinator
@@ -241,7 +257,9 @@ extension CoreDataAccessor {
     func object(with objectId: NSManagedObjectID) -> NSManagedObject {
         return managedObjectContext.object(with: objectId)
     }
-    func objects<T>(with entity: Entity<T>, sortDescriptors: [NSSortDescriptor]? = nil, predicate: NSPredicate? = nil) throws -> [T] {
+    func objects<T>(with entity: Entity<T>,
+                    sortDescriptors: [NSSortDescriptor]? = nil,
+                    predicate: NSPredicate? = nil) throws -> [T] {
         let req = NSFetchRequest<T>(entityName: entity.name)
         req.sortDescriptors = sortDescriptors
         req.predicate = predicate
index cda19e8..cd4eaca 100644 (file)
@@ -52,7 +52,11 @@ class Debug {
         #endif
     }
     
-    class func dump<T>(_ value: T, name: String? = nil, indent: Int = 0, maxDepth: Int = Int.max, maxItems: Int = Int.max) -> T {
+    class func dump<T>(_ value: T,
+                       name: String? = nil,
+                       indent: Int = 0,
+                       maxDepth: Int = Int.max,
+                       maxItems: Int = Int.max) -> T {
         #if DEBUG
             return Swift.dump(value, name: name, indent: indent, maxDepth: maxDepth, maxItems: maxItems)
         #else
index 4d9265c..2216721 100644 (file)
@@ -117,7 +117,8 @@ class DocksViewController: MainTabVIewItemViewController {
             return String(format: format, arguments: [fleetName, areaName, areaNumber])
         }
         if isBossCell {
-            let format = NSLocalizedString("%@ battle against the enemy main fleet at %@ war zone in %@ (%@) now", comment: "Sortie")
+            let format = NSLocalizedString("%@ battle against the enemy main fleet at %@ war zone in %@ (%@) now",
+                                           comment: "Sortie")
             return String(format: format, arguments: [fleetName, battleCellNumber as NSNumber, areaName, areaNumber])
         }
         let format = NSLocalizedString("%@ battle at %@ war zone in %@ (%@) now", comment: "Sortie")
@@ -149,7 +150,10 @@ class DocksViewController: MainTabVIewItemViewController {
         #endif
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == "selection" || keyPath == "content.battleCell" {
             willChangeValue(forKey: "sortieString")
             didChangeValue(forKey: "sortieString")
index 062c79f..70e69b2 100644 (file)
@@ -109,7 +109,13 @@ class EnhancementListItem: NSObject, NSCoding, NSCopying {
         self.secondsShipNames = secondsShipNames
         super.init()
     }
-    func replace(identifier: String? = nil, weekday: Int? = nil, equipmentType: EquipmentType? = nil, targetEquipment: String? = nil, remodelEquipment: String? = nil, requiredEquipments: RequiredEquipmentSet? = nil, secondsShipNames: [String]? = nil) -> EnhancementListItem {
+    func replace(identifier: String? = nil,
+                 weekday: Int? = nil,
+                 equipmentType: EquipmentType? = nil,
+                 targetEquipment: String? = nil,
+                 remodelEquipment: String? = nil,
+                 requiredEquipments: RequiredEquipmentSet? = nil,
+                 secondsShipNames: [String]? = nil) -> EnhancementListItem {
         return EnhancementListItem(identifier: identifier ?? self.identifier,
                                      weekday: weekday ?? self.weekday,
                                      equipmentType: equipmentType ?? self.equipmentType,
index 8b89818..6f5c8bb 100644 (file)
@@ -113,7 +113,10 @@ class ExternalBrowserWindowController: NSWindowController {
         webView.applicationNameForUserAgent = AppDelegate.shared.appNameForUserAgent
         webView.frameLoadDelegate = self
     }
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == "canGoBack" {
             goSegment.setEnabled(webView.canGoBack, forSegment: 0)
             return
@@ -310,11 +313,19 @@ extension ExternalBrowserWindowController: WebFrameLoadDelegate, WebPolicyDelega
     }
     func webView(_ sender: WebView!, didFinishLoadFor frame: WebFrame!) {
         if let waitingBookmarkItem = waitingBookmarkItem {
-            Timer.scheduledTimer(timeInterval: waitingBookmarkItem.scrollDelay, target: self, selector: .updateContentVisibleRect, userInfo: waitingBookmarkItem, repeats: false)
+            Timer.scheduledTimer(timeInterval: waitingBookmarkItem.scrollDelay,
+                                 target: self,
+                                 selector: .updateContentVisibleRect,
+                                 userInfo: waitingBookmarkItem,
+                                 repeats: false)
         }
         waitingBookmarkItem = nil
     }
-    func webView(_ webView: WebView!, decidePolicyForNavigationAction actionInformation: [AnyHashable: Any]!, request: URLRequest!, frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!) {
+    func webView(_ webView: WebView!,
+                 decidePolicyForNavigationAction actionInformation: [AnyHashable: Any]!,
+                 request: URLRequest!,
+                 frame: WebFrame!,
+                 decisionListener listener: WebPolicyDecisionListener!) {
         if actionInformation?[WebActionNavigationTypeKey] as? WebNavigationType == .linkClicked {
             if canMovePage {
                 listener.use()
index 3f99384..8a909ef 100644 (file)
@@ -31,7 +31,8 @@ class Fleet: NSObject {
         deckController.managedObjectContext = ServerDataStore.default.managedObjectContext
         deckController.fetchPredicate = NSPredicate(format: "id = %ld", number)
         let req = NSFetchRequest<NSFetchRequestResult>()
-        req.entity = NSEntityDescription.entity(forEntityName: Deck.entityName, in: deckController.managedObjectContext!)
+        req.entity = NSEntityDescription.entity(forEntityName: Deck.entityName,
+                                                in: deckController.managedObjectContext!)
         req.predicate = deckController.fetchPredicate
         do {
             try deckController.fetch(with: req, merge: false)
@@ -61,7 +62,10 @@ class Fleet: NSObject {
     
     subscript(_ index: Int) -> Ship? { return deck?[index] }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey : Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if context == &pDeckContext {
             ships = (0..<6).flatMap { return self[$0] }
             return
index c608f3a..2f0f4d2 100644 (file)
@@ -21,7 +21,10 @@ class FleetManager: NSObject {
     private(set) var fleets: [Fleet] = []
     private var fleetController: NSArrayController!
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == "arrangedObjects.ships" {
             setNewFleetNumberToShip()
             return
index 1737247..542b90e 100644 (file)
@@ -73,7 +73,8 @@ class GameViewController: NSViewController {
                 let date = DateFormatter.localizedString(from: untilDate!, dateStyle: .none, timeStyle: .medium)
                 let alert = NSAlert()
                 alert.messageText = NSLocalizedString("Reload interval is too short?", comment: "")
-                alert.informativeText = String(format: NSLocalizedString("Reload interval is too short.\nWait until %@.", comment: ""), date)
+                let format = NSLocalizedString("Reload interval is too short.\nWait until %@.", comment: "")
+                alert.informativeText = String(format: format, date)
                 alert.runModal()
                 
                 return
@@ -188,7 +189,9 @@ extension GameViewController: WebFrameLoadDelegate, WebUIDelegate {
         }
     }
     
-    func webView(_ sender: WebView!, contextMenuItemsForElement element: [AnyHashable: Any]!, defaultMenuItems: [Any]!) -> [Any]! {
+    func webView(_ sender: WebView!,
+                 contextMenuItemsForElement element: [AnyHashable: Any]!,
+                 defaultMenuItems: [Any]!) -> [Any]! {
         guard let menuItems = defaultMenuItems as? [NSMenuItem] else { return [] }
         return menuItems.flatMap {
             GameViewController.excludeMenuItemTag.contains($0.tag) ? nil : $0
index 5ef6531..562f176 100644 (file)
@@ -75,7 +75,14 @@ extension LocalDataStore {
             else { return nil }
         return kenzoMarks.first
     }
-    func kenzoMark(fuel: Int, bull: Int, steel: Int, bauxite: Int, kaihatusizai: Int, kDockId: Int, shipId: Int) -> KenzoMark? {
+    func kenzoMark(fuel: Int,
+                   bull: Int,
+                   steel: Int,
+                   bauxite: Int,
+                   kaihatusizai: Int,
+                   kDockId: Int,
+                   shipId: Int) -> KenzoMark? {
+        // swiftlint:disable:next line_length
         let predicate = NSPredicate(format: "fuel = %ld AND bull = %ld AND steel = %ld AND bauxite = %ld AND kaihatusizai = %ld AND kDockId = %ld AND created_ship_id = %ld",
                                     fuel, bull, steel, bauxite, kaihatusizai, kDockId, shipId)
         guard let kenzoMarks = try? objects(with: KenzoMark.entity, predicate: predicate)
index c5e6bd1..badec77 100644 (file)
@@ -58,6 +58,10 @@ class PeriodicNotifier: NSObject {
         guard let nextNotifyDate = Calendar.current.date(from: currentDay)
             else { fatalError("Can not create time of notify") }
         let nextNotifyTime = nextNotifyDate.timeIntervalSinceNow + 0.1
-        Timer.scheduledTimer(timeInterval: nextNotifyTime, target: self, selector: .notifyIfNeeded, userInfo: nil, repeats: false)
+        Timer.scheduledTimer(timeInterval: nextNotifyTime,
+                             target: self,
+                             selector: .notifyIfNeeded,
+                             userInfo: nil,
+                             repeats: false)
     }
 }
index 93ed20f..2e75e13 100644 (file)
@@ -55,7 +55,10 @@ class PowerUpSupportViewController: MainTabVIewItemViewController {
         shipController.addObserver(self, forKeyPath: NSSortDescriptorsBinding, context: nil)
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey : Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == NSSortDescriptorsBinding {
             UserDefaults.standard.powerupSupportSortDecriptors = shipController.sortDescriptors
             return
index ad71253..a14536c 100644 (file)
@@ -37,7 +37,8 @@ class PreferencePanelController: NSWindowController {
         set {
             AppDelegate.shared.screenShotSaveDirectory = newValue
             
-            let index = screenShotSaveDirectoryPopUp.indexOfItem(withTag: ScreenshotSaveDirectoryPopupMenuItemTag.saveDirectory.rawValue)
+            let index = screenShotSaveDirectoryPopUp
+                .indexOfItem(withTag: ScreenshotSaveDirectoryPopupMenuItemTag.saveDirectory.rawValue)
             guard let item = screenShotSaveDirectoryPopUp.item(at: index)
                 else { return }
             
@@ -78,7 +79,8 @@ class PreferencePanelController: NSWindowController {
         panel.canChooseDirectories = true
         panel.canChooseFiles = false
         panel.beginSheetModal(for: window) {
-            self.screenShotSaveDirectoryPopUp.selectItem(withTag: ScreenshotSaveDirectoryPopupMenuItemTag.saveDirectory.rawValue)
+            self.screenShotSaveDirectoryPopUp
+                .selectItem(withTag: ScreenshotSaveDirectoryPopupMenuItemTag.saveDirectory.rawValue)
             guard $0 != NSModalResponseCancel,
                 let path = panel.url?.path
                 else { return }
index 179ae46..816c9b7 100644 (file)
@@ -32,7 +32,10 @@ class ScreenshotDetailViewController: BridgeViewController {
         updateSelections()
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == NSSelectionIndexesBinding {
             updateSelections()
             return
index b1ccded..a1fbf6b 100644 (file)
@@ -104,7 +104,10 @@ class ScreenshotEditorViewController: BridgeViewController {
         doneButton.action = .done
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey : Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == NSSelectionIndexesBinding {
             updateSelections()
             return
@@ -158,7 +161,10 @@ class ScreenshotEditorViewController: BridgeViewController {
                     guard let originalImage = NSImage(contentsOf: $0.url) else { return nil }
                     let trimedImage = NSImage(size: self.currentTrimInfo.rect.size)
                     trimedImage.lockFocus()
-                    originalImage.draw(at: .zero, from: self.currentTrimInfo.rect, operation: NSCompositeCopy, fraction: 1.0)
+                    originalImage.draw(at: .zero,
+                                       from: self.currentTrimInfo.rect,
+                                       operation: NSCompositeCopy,
+                                       fraction: 1.0)
                     trimedImage.unlockFocus()
                     
                     return trimedImage
index c3628c4..4e8da3d 100644 (file)
@@ -101,7 +101,8 @@ class ScreenshotListViewController: NSViewController {
         let scrollView = collectionView.enclosingScrollView
         
         nc.addObserver(forName: .NSViewFrameDidChange, object: collectionView, queue: nil, using: viewFrameDidChange)
-        nc.addObserver(forName: .NSScrollViewDidLiveScroll, object: collectionView.enclosingScrollView, queue: nil) { _ in
+        nc.addObserver(forName: .NSScrollViewDidLiveScroll,
+                       object: collectionView.enclosingScrollView, queue: nil) { _ in
             let visibleItems = self.collectionView.indexPathsForVisibleItems()
             self.collectionVisibleDidChangeHandler?(visibleItems)
         }
@@ -117,7 +118,10 @@ class ScreenshotListViewController: NSViewController {
         DispatchQueue.main
             .asyncAfter(deadline: .now() + 0.0001 ) { self.reloadData() }
     }
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey : Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if let object = object as? NSCollectionView,
             object == collectionView {
             let selections = collectionView.selectionIndexPaths
@@ -188,7 +192,9 @@ class ScreenshotListViewController: NSViewController {
     }
     
     private func reloadData() {
-        guard let f = try? FileManager.default.contentsOfDirectory(at: screenshotSaveDirectoryURL, includingPropertiesForKeys: nil) else {
+        guard let f = try? FileManager
+            .default
+            .contentsOfDirectory(at: screenshotSaveDirectoryURL, includingPropertiesForKeys: nil) else {
             print("can not read list of screenshot directory")
             return
         }
@@ -301,7 +307,9 @@ class ScreenshotListViewController: NSViewController {
 }
 
 extension ScreenshotListViewController: NSCollectionViewDelegateFlowLayout {
-    func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize {
+    func collectionView(_ collectionView: NSCollectionView,
+                        layout collectionViewLayout: NSCollectionViewLayout,
+                        sizeForItemAt indexPath: IndexPath) -> NSSize {
         let f = realFromZoom(zoom: zoom)
         return NSSize(width: f, height: f)
     }
@@ -316,7 +324,8 @@ fileprivate var kPickers: [Int: NSSharingServicePickerTouchBarItem] = [:]
 
 @available(OSX 10.12.2, *)
 extension ScreenshotListViewController: NSTouchBarDelegate {
-    static let ServicesItemIdentifier: NSTouchBarItemIdentifier = NSTouchBarItemIdentifier(rawValue: "com.masakih.sharingTouchBarItem")
+    static let ServicesItemIdentifier: NSTouchBarItemIdentifier
+        = NSTouchBarItemIdentifier(rawValue: "com.masakih.sharingTouchBarItem")
     
     @IBOutlet var screenshotTouchBar: NSTouchBar! {
         get { return kTouchBars[hashValue] }
@@ -334,7 +343,8 @@ extension ScreenshotListViewController: NSTouchBarDelegate {
     override func makeTouchBar() -> NSTouchBar? {
         var array: NSArray = []
         Bundle.main.loadNibNamed("ScreenshotTouchBar", owner: self, topLevelObjects: &array)
-        let identifiers = self.screenshotTouchBar.defaultItemIdentifiers + [ScreenshotListViewController.ServicesItemIdentifier]
+        let identifiers = self.screenshotTouchBar.defaultItemIdentifiers
+            + [ScreenshotListViewController.ServicesItemIdentifier]
         screenshotTouchBar.defaultItemIdentifiers = identifiers
         
         if collectionVisibleDidChangeHandler == nil {
@@ -361,7 +371,8 @@ extension ScreenshotListViewController: NSTouchBarDelegate {
         return screenshotTouchBar
     }
     
-    func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItemIdentifier) -> NSTouchBarItem? {
+    func touchBar(_ touchBar: NSTouchBar,
+                  makeItemForIdentifier identifier: NSTouchBarItemIdentifier) -> NSTouchBarItem? {
         guard identifier == ScreenshotListViewController.ServicesItemIdentifier
             else { return nil }
         if sharingItem == nil {
index 4e8277e..3458df8 100644 (file)
@@ -69,17 +69,24 @@ class ScreenshotListWindowController: NSWindowController {
         currentRightViewController?.share(sender)
     }
     @IBAction func changeToEditor(_ sender: AnyObject?) {
-        rightController.transition(from: detailViewController, to: editorViewController, options: [.slideLeft], completionHandler: nil)
+        rightController.transition(from: detailViewController,
+                                   to: editorViewController,
+                                   options: [.slideLeft],
+                                   completionHandler: nil)
         currentRightViewController = editorViewController
     }
     @IBAction func changeToDetail(_ sender: AnyObject?) {
-        rightController.transition(from: editorViewController, to: detailViewController, options: [.slideRight], completionHandler: nil)
+        rightController.transition(from: editorViewController,
+                                   to: detailViewController,
+                                   options: [.slideRight],
+                                   completionHandler: nil)
         currentRightViewController = detailViewController
     }
 }
 
 extension ScreenshotListWindowController: NSSharingServicePickerDelegate {
-    func sharingServicePicker(_ sharingServicePicker: NSSharingServicePicker, delegateFor sharingService: NSSharingService) -> NSSharingServiceDelegate? {
+    func sharingServicePicker(_ sharingServicePicker: NSSharingServicePicker,
+                              delegateFor sharingService: NSSharingService) -> NSSharingServiceDelegate? {
         return currentRightViewController
     }
 }
@@ -88,11 +95,15 @@ extension ScreenshotListWindowController: NSSplitViewDelegate {
     private static let leftMinWidth: CGFloat = 299
     private static let rightMinWidth: CGFloat = 400
     
-    func splitView(_ splitView: NSSplitView, constrainMinCoordinate proposedMinimumPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
+    func splitView(_ splitView: NSSplitView,
+                   constrainMinCoordinate proposedMinimumPosition: CGFloat,
+                   ofSubviewAt dividerIndex: Int) -> CGFloat {
         if dividerIndex == 0 { return ScreenshotListWindowController.leftMinWidth }
         return proposedMinimumPosition
     }
-    func splitView(_ splitView: NSSplitView, constrainSplitPosition proposedPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
+    func splitView(_ splitView: NSSplitView,
+                   constrainSplitPosition proposedPosition: CGFloat,
+                   ofSubviewAt dividerIndex: Int) -> CGFloat {
         if dividerIndex == 0 {
             let rightWidth = splitView.frame.size.width - proposedPosition
             if rightWidth < ScreenshotListWindowController.rightMinWidth {
index b4c8ee6..d056333 100644 (file)
@@ -84,7 +84,10 @@ class ShipViewController: MainTabVIewItemViewController {
             standardDeviationField.isHidden = false
         #endif
     }
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if keyPath == NSSortDescriptorsBinding {
             UserDefaults.standard.shipviewSortDescriptors = shipController.sortDescriptors
             return
index 2395d8a..a117b23 100644 (file)
@@ -88,7 +88,9 @@ class SlotItemLevelView: NSTextField {
         let path = multiline {
             [(NSPoint, NSPoint)]()
                 .appended { (NSPoint(x: width - offset, y: 0), NSPoint(x: width - offset, y: height)) }
-                .appended { (NSPoint(x: width - offset - padding, y: 0), NSPoint(x: width - offset - padding, y: height)) }
+                .appended {
+                    (NSPoint(x: width - offset - padding, y: 0), NSPoint(x: width - offset - padding, y: height))
+            }
         }
         path?.lineWidth = 1.0
         return path
@@ -99,9 +101,16 @@ class SlotItemLevelView: NSTextField {
         let height = bounds.height
         let path = multiline {
             [(NSPoint, NSPoint)]()
-                .appended { (NSPoint(x: width - offset, y: 0), NSPoint(x: width - offset, y: height)) }
-                .appended { (NSPoint(x: width - offset - padding, y: 0), NSPoint(x: width - offset - padding, y: height)) }
-                .appended { (NSPoint(x: width - offset - padding * 2, y: 0), NSPoint(x: width - offset - padding * 2, y: height)) }
+                .appended { (NSPoint(x: width - offset, y: 0),
+                             NSPoint(x: width - offset, y: height)) }
+                .appended {
+                    (NSPoint(x: width - offset - padding, y: 0),
+                     NSPoint(x: width - offset - padding, y: height))
+                }
+                .appended {
+                    (NSPoint(x: width - offset - padding * 2, y: 0),
+                     NSPoint(x: width - offset - padding * 2, y: height))
+            }
         }
         path?.lineWidth = 1.0
         return path
@@ -124,7 +133,10 @@ class SlotItemLevelView: NSTextField {
         let path = multiline {
             [(NSPoint, NSPoint)]()
                 .appended { (NSPoint(x: width - offset - slideOffset, y: 0), NSPoint(x: width - offset, y: height)) }
-                .appended { (NSPoint(x: width - offset - padding - slideOffset, y: 0), NSPoint(x: width - offset - padding, y: height)) }
+                .appended {
+                    (NSPoint(x: width - offset - padding - slideOffset, y: 0),
+                     NSPoint(x: width - offset - padding, y: height))
+            }
         }
         path?.lineWidth = 2.0
         
@@ -137,8 +149,14 @@ class SlotItemLevelView: NSTextField {
         let path = multiline {
             [(NSPoint, NSPoint)]()
                 .appended { (NSPoint(x: width - offset - slideOffset, y: 0), NSPoint(x: width - offset, y: height)) }
-                .appended { (NSPoint(x: width - offset - padding - slideOffset, y: 0), NSPoint(x: width - offset - padding, y: height)) }
-                .appended { (NSPoint(x: width - offset - padding * 2 - slideOffset, y: 0), NSPoint(x: width - offset - padding * 2, y: height)) }
+                .appended {
+                    (NSPoint(x: width - offset - padding - slideOffset, y: 0),
+                     NSPoint(x: width - offset - padding, y: height))
+                }
+                .appended {
+                    (NSPoint(x: width - offset - padding * 2 - slideOffset, y: 0),
+                     NSPoint(x: width - offset - padding * 2, y: height))
+            }
         }
         path?.lineWidth = 2.0
         return path
index 31c783f..31612e6 100644 (file)
@@ -136,7 +136,9 @@ fileprivate class EnhancementListItemDownloader: NSObject, URLSessionDownloadDel
         plistDownloadQueue.maxConcurrentOperationCount = 1
         plistDownloadQueue.qualityOfService = .background
         let configuration = URLSessionConfiguration.default
-        plistDownloadSession = URLSession(configuration: configuration, delegate: self, delegateQueue: plistDownloadQueue)
+        plistDownloadSession = URLSession(configuration: configuration,
+                                          delegate: self,
+                                          delegateQueue: plistDownloadQueue)
     }
     
     private var plistDownloadSession: URLSession!
@@ -146,6 +148,7 @@ fileprivate class EnhancementListItemDownloader: NSObject, URLSessionDownloadDel
     
     func download(using block: @escaping ([EnhancementListItem]) -> Void) {
         if let _ = plistDownloadTask { return }
+        // swiftlint:disable:next line_length
         guard let plistURL = URL(string: "http://git.osdn.jp/view?p=kcd/KCD.git;a=blob;f=KCD/\(resourceName).\(resourceExtension);hb=HEAD")
             else { return }
         
index 4a4bcd3..303851d 100644 (file)
@@ -39,7 +39,11 @@ class StrokeTextFieldCell: NSTextFieldCell {
         textStorage.addLayoutManager(layoutManager)
         let range = layoutManager.glyphRange(for: textContainer)
         let glyph = UnsafeMutablePointer<CGGlyph>.allocate(capacity: range.length)
-        let glyphLength = layoutManager.getGlyphs(in: range, glyphs: glyph, properties: nil, characterIndexes: nil, bidiLevels: nil)
+        let glyphLength = layoutManager.getGlyphs(in: range,
+                                                  glyphs: glyph,
+                                                  properties: nil,
+                                                  characterIndexes: nil,
+                                                  bidiLevels: nil)
         var point = NSPoint(x: StrokeTextFieldCell.boarderWidth, y: 0)
         point.y -= font.descender
         if controlView.isFlipped {
index 4dbfbed..84134c7 100644 (file)
@@ -46,7 +46,10 @@ class SuppliesView: NSControl {
         }
     }
     
-    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
+    override func observeValue(forKeyPath keyPath: String?,
+                               of object: Any?,
+                               change: [NSKeyValueChangeKey: Any]?,
+                               context: UnsafeMutableRawPointer?) {
         if context == &pShipStatusContext {
             needsDisplay = true
             return
index b8376a4..7523e0b 100644 (file)
@@ -76,6 +76,24 @@ class TiledImageView: NSView {
         }
     }
     
+    // 市松模様を描画
+    private func drawCheckerIn(_ image: NSImage, checkerSize: Int = 10) {
+        let size = image.size
+        image.lockFocus()
+        NSColor.white.setFill()
+        NSRectFill(NSRect(origin: .zero, size: size))
+        NSColor.lightGray.setFill()
+        let colTileNum: Int = Int(size.width / CGFloat(checkerSize))
+        let rowTileNum: Int = Int(size.height / CGFloat(checkerSize))
+        for i in 0..<colTileNum {
+            for j in 0..<rowTileNum {
+                if i % 2 == 0 && j % 2 == 1 { continue }
+                if i % 2 == 1 && j % 2 == 0 { continue }
+                NSRectFill(NSRect(x: i * checkerSize, y: j * checkerSize, width: checkerSize, height: checkerSize))
+            }
+        }
+        image.unlockFocus()
+    }
     fileprivate func calcImagePosition() {
         let imageCount = images.count
         if imageCount == 0 {
@@ -87,29 +105,15 @@ class TiledImageView: NSView {
         DispatchQueue(label: "makeTrimedImage queue").async {
             let numberOfCol = imageCount < self.columnCount ? imageCount : self.columnCount
             let numberOfRow = imageCount / self.columnCount + ((imageCount % self.columnCount != 0) ? 1 : 0)
-            let tiledImage = NSImage(size: NSSize(width: size.width * CGFloat(numberOfCol), height: size.height * CGFloat(numberOfRow)))
+            let tiledImage = NSImage(size: NSSize(width: size.width * CGFloat(numberOfCol),
+                                                  height: size.height * CGFloat(numberOfRow)))
             
-            // 市松模様を描画
-            tiledImage.lockFocus()
-            NSColor.white.setFill()
-            NSRectFill(NSRect(x: 0, y: 0, width: size.width * CGFloat(numberOfCol), height: size.height * CGFloat(numberOfRow)))
-            NSColor.lightGray.setFill()
-            let tileSize = 10
-            let colTileNum: Int = Int((size.width * CGFloat(numberOfCol)) / CGFloat(tileSize))
-            let rowTileNum: Int = Int((size.height * CGFloat(numberOfRow)) / CGFloat(tileSize))
-            for i in 0..<colTileNum {
-                for j in 0..<rowTileNum {
-                    if i % 2 == 0 && j % 2 == 1 { continue }
-                    if i % 2 == 1 && j % 2 == 0 { continue }
-                    NSRectFill(NSRect(x: i * tileSize, y: j * tileSize, width: tileSize, height: tileSize))
-                }
-            }
-            tiledImage.unlockFocus()
+            self.drawCheckerIn(tiledImage)
             
             // 画像の描画
             let offset = (0..<self.images.count).map {
                 NSPoint(x: CGFloat($0 % self.columnCount) * size.width,
-                       y: size.height * CGFloat(numberOfRow) - CGFloat($0 / self.columnCount + 1) * size.height)
+                        y: size.height * CGFloat(numberOfRow) - CGFloat($0 / self.columnCount + 1) * size.height)
             }
             let imageRect = NSRect(origin: .zero, size: size)
             tiledImage.lockFocus()
@@ -117,9 +121,7 @@ class TiledImageView: NSView {
                 $0.0.draw(at: $0.1, from: imageRect, operation: NSCompositeCopy, fraction: 1.0)
             }
             tiledImage.unlockFocus()
-            let newInfos = offset.map {
-                TitledImageCellInformation(with: NSRect(origin: $0, size: size))
-            }
+            let newInfos = offset.map { TitledImageCellInformation(with: NSRect(origin: $0, size: size)) }
             
             DispatchQueue.main.sync {
                 self.imageCell.image = tiledImage
@@ -128,7 +130,7 @@ class TiledImageView: NSView {
             }
         }
     }
-    
+    // swiftlint:disable:next line_length
     private func calcurated(trackingAreaInfo originalInfos: [TitledImageCellInformation]) -> [TitledImageCellInformation] {
         guard let size = imageCell.image?.size else { return originalInfos }
         let bounds = self.bounds
@@ -142,12 +144,10 @@ class TiledImageView: NSView {
                       y: (bounds.height - size.height) / 2)
         } else if ratioX > ratioY {
             ratio = ratioY
-            offset = (x: 0,
-                      y: (bounds.height - size.height * ratio) / 2)
+            offset = (x: 0, y: (bounds.height - size.height * ratio) / 2)
         } else {
             ratio = ratioX
-            offset = (x: (bounds.width - size.width * ratio) / 2,
-                      y: 0)
+            offset = (x: (bounds.width - size.width * ratio) / 2, y: 0)
         }
         
         return originalInfos.map {
@@ -155,9 +155,7 @@ class TiledImageView: NSView {
                    y: $0.frame.minY * ratio + offset.y,
                    width: $0.frame.width * ratio,
                    height: $0.frame.height * ratio)
-            }.map {
-                TitledImageCellInformation(with: $0)
-        }
+            }.map { TitledImageCellInformation(with: $0) }
     }
     fileprivate func removeAllTrackingAreas() {
         trackingAreas.forEach { removeTrackingArea($0) }
@@ -195,7 +193,8 @@ extension TiledImageView {
         let mouse = convert(event.locationInWindow, from: nil)
         infos.enumerated().forEach {
             if !NSMouseInRect(mouse, $0.element.frame, isFlipped) { return }
-            guard let pItem = NSPasteboardItem(pasteboardPropertyList: $0.offset, ofType: TiledImageView.privateDraggingUTI)
+            guard let pItem = NSPasteboardItem(pasteboardPropertyList: $0.offset,
+                                               ofType: TiledImageView.privateDraggingUTI)
                 else { fatalError() }
             let item = NSDraggingItem(pasteboardWriter: pItem)
             item.setDraggingFrame($0.element.frame, contents: images[$0.offset])
@@ -209,7 +208,8 @@ extension TiledImageView {
 }
 
 extension TiledImageView: NSDraggingSource {
-    func draggingSession(_ session: NSDraggingSession, sourceOperationMaskFor context: NSDraggingContext) -> NSDragOperation {
+    func draggingSession(_ session: NSDraggingSession,
+                         sourceOperationMaskFor context: NSDraggingContext) -> NSDragOperation {
         return context == .withinApplication ? .move : []
     }
     override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation {