OSDN Git Service

Doutaku を 1.0 にアップデート
[kcd/KCD.git] / KCD / AncherageRepairTimerViewController.swift
index cc1abca..0b01e36 100644 (file)
@@ -8,24 +8,33 @@
 
 import Cocoa
 
-class AncherageRepairTimerViewController: NSViewController {
+final class AncherageRepairTimerViewController: NSViewController {
     
     static let regularHeight: CGFloat = 76
     static let smallHeight: CGFloat = regularHeight - 32
     
     private let anchorageRepairManager = AnchorageRepairManager.default
     
-    @IBOutlet var screenshotButton:NSButton!
+    @IBOutlet private var screenshotButton: NSButton!
     
-    dynamic var repairTime: NSNumber?
-    override var nibName: String! {
-        return "AncherageRepairTimerViewController"
+    @objc dynamic var repairTime: NSNumber?
+    
+    override var nibName: NSNib.Name {
+        
+        return .nibName(instanceOf: self)
     }
-    var controlSize: NSControlSize = .regular {
+    
+    var controlSize: NSControl.ControlSize = .regular {
+        
         willSet {
-            if controlSize == newValue { return }
+            
+            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
@@ -38,34 +47,49 @@ class AncherageRepairTimerViewController: NSViewController {
     private var trackingArea: NSTrackingArea?
     
     override func viewDidLoad() {
+        
         super.viewDidLoad()
         
-        let appDelegate = NSApplication.shared().delegate as! AppDelegate
-        appDelegate.addCounterUpdate { [weak self] () in
-            guard let `self` = self else { return }
+        AppDelegate.shared.addCounterUpdate { [weak self] in
+            
+            guard let `self` = self else {
+                
+                return
+            }
+            
             self.repairTime = self.calcRepairTime()
         }
     }
+    
     override func mouseEntered(with event: NSEvent) {
-        screenshotButton.image = NSImage(named: "Camera")
+        
+        screenshotButton.image = NSImage(named: NSImage.Name("Camera"))
     }
+    
     override func mouseExited(with event: NSEvent) {
-        screenshotButton.image = NSImage(named: "CameraDisabled")
+        
+        screenshotButton.image = NSImage(named: NSImage.Name("CameraDisabled"))
     }
     
     private func refleshTrackingArea() {
-        view.trackingAreas.forEach {
-            view.removeTrackingArea($0)
+        
+        view.trackingAreas.forEach(view.removeTrackingArea)
+        trackingArea = NSTrackingArea(rect: screenshotButton.frame,
+                                      options: [.mouseEnteredAndExited, .activeInActiveApp],
+                                      owner: self,
+                                      userInfo: nil)
+        if let trackingArea = trackingArea {
+            
+            view.addTrackingArea(trackingArea)
         }
-        trackingArea = NSTrackingArea(rect: screenshotButton.frame, options: [.mouseEnteredAndExited, .activeInActiveApp], owner: self, userInfo: nil)
-        view.addTrackingArea(trackingArea!)
     }
     
     private func calcRepairTime() -> NSNumber? {
-        let time = anchorageRepairManager.repairTime
-        let complete = time.timeIntervalSince1970
-        let now = Date(timeIntervalSinceNow: 0.0)
-        let diff = complete - now.timeIntervalSince1970
+        
+        let complete = anchorageRepairManager.repairTime.timeIntervalSince1970
+        let now = Date(timeIntervalSinceNow: 0.0).timeIntervalSince1970
+        let diff = complete - now
+        
         return NSNumber(value: diff + 20.0 * 60)
     }
 }