X-Git-Url: http://git.osdn.net/view?p=kcd%2FKCD.git;a=blobdiff_plain;f=KCD%2FAppDelegate.swift;h=f4fba398fd6385efc00658963f5d3552630af8ab;hp=2448d9594e7885c83bec95c1296e3d2790162df4;hb=127f6d561a45c79e630b251d1ff2ef89a3d5ad06;hpb=ec0ed77e386797864e4c8ab2a3120413585e7b91 diff --git a/KCD/AppDelegate.swift b/KCD/AppDelegate.swift index 2448d959..f4fba398 100644 --- a/KCD/AppDelegate.swift +++ b/KCD/AppDelegate.swift @@ -8,25 +8,18 @@ import Cocoa -private extension Selector { - - static let fireInAppDelegate = #selector(AppDelegate.fire(_:)) - -} - @NSApplicationMain final class AppDelegate: NSObject { static var shared: AppDelegate { - // swiftlint:disable:next force_cast - return NSApplication.shared.delegate as! AppDelegate + return NSApplication.shared.delegate as! AppDelegate // swiftlint:disable:this force_cast } + + let appNameForUserAgent: String = "KCD(1.9b36) is not Safari/604.4.7" + private(set) var fleetManager: FleetManager? - let appNameForUserAgent: String = "KCD(1.9b17) is not Safari/603.3.8" - let fleetManager: FleetManager = FleetManager() - - let windowManager = WindowManager() + private let windowManager = WindowManager() private let historyCleanNotifer = PeriodicNotifier(hour: 0, minutes: 7) private let jsonTracker = JSONTracker() @@ -34,8 +27,8 @@ final class AppDelegate: NSObject { private let resourceHistory = ResourceHistoryManager() // MARK: - Variable - @IBOutlet var debugMenuItem: NSMenuItem! - @IBOutlet var billingWindowMenuItem: NSMenuItem! + @IBOutlet private var debugMenuItem: NSMenuItem! + @IBOutlet private var billingWindowMenuItem: NSMenuItem! var jsonViewWindowController: JSONViewWindowController? { @@ -50,9 +43,11 @@ final class AppDelegate: NSObject { var screenShotSaveDirectory: String { get { + return UserDefaults.standard[.screenShotSaveDirectory] ?? ApplicationDirecrories.pictures.path } set { + UserDefaults.standard[.screenShotSaveDirectory] = newValue } } @@ -80,10 +75,15 @@ final class AppDelegate: NSObject { // MARK: - Function override func awakeFromNib() { - if didLoadedMainMenu { return } + if didLoadedMainMenu { + + return + } didLoadedMainMenu = true + fleetManager = FleetManager() + ValueTransformerRegister.registerAll() UserDefaults.standard.register(defaults: DefaultKeys.defaults) CustomHTTPProtocol.start() @@ -91,7 +91,10 @@ final class AppDelegate: NSObject { windowManager.prepair() - if !UserDefaults.standard[.showsDebugMenu] { debugMenuItem.isHidden = true } + if !UserDefaults.standard[.showsDebugMenu] { + + debugMenuItem.isHidden = true + } NotificationCenter.default .addObserver(forName: .Periodic, object: historyCleanNotifer, queue: nil) { _ in @@ -114,16 +117,6 @@ final class AppDelegate: NSObject { return windowManager.createNewBrowser() } - - func registerScreenshot(_ image: NSBitmapImageRep, fromOnScreen: NSRect) { - - windowManager.registerScreenshot(image, fromOnScreen: fromOnScreen) - } - - @objc func fire(_ timer: Timer) { - - updaters.forEach { $0() } - } } // MARK: - IBActions @@ -178,7 +171,8 @@ extension AppDelegate { guard let path = Bundle.main.path(forResource: "RemoveDatabaseFileAndRestart", ofType: "app") else { - print("Can not find RemoveDatabaseFileAndRestart.app") + Logger.shared.log("Can not find RemoveDatabaseFileAndRestart.app") + return } @@ -240,7 +234,10 @@ extension AppDelegate { override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool { - guard let action = menuItem.action else { return false } + guard let action = menuItem.action else { + + return false + } switch action { @@ -250,12 +247,15 @@ extension AppDelegate { return true case #selector(AppDelegate.removeDatabaseFile(_:)): + return true case #selector(openInDeckBuilder(_:)): + return true default: + return windowManager.validateMenuItem(menuItem) } } @@ -272,12 +272,10 @@ extension AppDelegate: NSApplicationDelegate { exit(0) } - NSUserNotificationCenter.default.delegate = self - Timer.scheduledTimer(timeInterval: 0.33, - target: self, - selector: .fireInAppDelegate, - userInfo: nil, - repeats: true) + Timer.scheduledTimer(withTimeInterval: 0.33, repeats: true) { [weak self] _ in + + self?.updaters.forEach { $0() } + } } func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { @@ -300,7 +298,7 @@ private var objectForTouchBar: [Int: NSTouchBar] = [:] @available(OSX 10.12.2, *) extension AppDelegate: NSTouchBarProvider { - @IBOutlet var mainTouchBar: NSTouchBar? { + @IBOutlet private var mainTouchBar: NSTouchBar? { get { return objectForTouchBar[hash] } set { objectForTouchBar[hash] = newValue } @@ -309,8 +307,15 @@ extension AppDelegate: NSTouchBarProvider { var touchBar: NSTouchBar? { get { - if windowManager.isMainWindowMostFront { return nil } - if let _ = mainTouchBar { return mainTouchBar } + + if windowManager.isMainWindowMostFront { + + return nil + } + if let _ = mainTouchBar { + + return mainTouchBar + } var topLevel: NSArray? Bundle.main.loadNibNamed(NSNib.Name("MainTouchBar"), owner: self, topLevelObjects: &topLevel)