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
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)
}
}