OSDN Git Service

shared instanceを持つようにした
[kcd/KCD.git] / KCD / ExternalBrowserWindowController.swift
index 5e7626f..a8701a8 100644 (file)
@@ -11,9 +11,9 @@ import WebKit
 
 final class ExternalBrowserWindowController: NSWindowController {
         
-    @IBOutlet var webView: WebView!
-    @IBOutlet var goSegment: NSSegmentedControl!
-    @IBOutlet var bookmarkListView: NSView!
+    @IBOutlet private var webView: WebView!
+    @IBOutlet private var goSegment: NSSegmentedControl!
+    @IBOutlet private var bookmarkListView: NSView!
     
     private var canGoBackObservation: NSKeyValueObservation?
     private var canGoForwardObservation: NSKeyValueObservation?
@@ -26,7 +26,11 @@ final class ExternalBrowserWindowController: NSWindowController {
     @objc dynamic var canResize: Bool = true {
         
         willSet {
-            if canResize == newValue { return }
+            
+            if canResize == newValue {
+                
+                return
+            }
             
             if newValue {
                 
@@ -42,7 +46,11 @@ final class ExternalBrowserWindowController: NSWindowController {
     @objc dynamic var canScroll: Bool = true {
         
         willSet {
-            if canScroll == newValue { return }
+            
+            if canScroll == newValue {
+                
+                return
+            }
             
             webView?.mainFrame.frameView.allowsScrolling = newValue
         }
@@ -57,12 +65,20 @@ final class ExternalBrowserWindowController: NSWindowController {
     var windowContentSize: NSSize {
         
         get {
-            guard let window = window else { return .zero }
+            
+            guard let window = window else {
+                
+                return .zero
+            }
             
             return window.contentRect(forFrameRect: window.frame).size
         }
         set {
-            guard let window = window else { return }
+            
+            guard let window = window else {
+                
+                return
+            }
             
             var contentRect: NSRect = .zero
             contentRect.size = newValue
@@ -85,7 +101,10 @@ final class ExternalBrowserWindowController: NSWindowController {
     
     private lazy var bookmarkListViwController: BookmarkListViewController? = { [weak self] in
         
-        guard let `self` = self else { return nil }
+        guard let `self` = self else {
+            
+            return nil
+        }
         
         let controller = BookmarkListViewController()
         self.bookmarkListView = controller.view
@@ -106,13 +125,19 @@ final class ExternalBrowserWindowController: NSWindowController {
         
         canGoBackObservation = webView.observe(\WebView.canGoBack) { [weak self] _, _ in
             
-            guard let `self` = self else { return }
+            guard let `self` = self else {
+                
+                return
+            }
             
             self.goSegment.setEnabled(self.webView.canGoBack, forSegment: 0)
         }
         canGoForwardObservation = webView.observe(\WebView.canGoForward) { [weak self] _, _ in
             
-            guard let `self` = self else { return }
+            guard let `self` = self else {
+                
+                return
+            }
             
             self.goSegment.setEnabled(self.webView.canGoForward, forSegment: 1)
         }
@@ -139,6 +164,7 @@ final class ExternalBrowserWindowController: NSWindowController {
         if !canMovePage {
             
             AppDelegate.shared.createNewBrowser().move(bookmark: bookmark)
+            
             return
         }
         
@@ -171,14 +197,19 @@ extension ExternalBrowserWindowController {
     
     override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
         
-        guard let action = menuItem.action else { return false }
+        guard let action = menuItem.action else {
+            
+            return false
+        }
         
         switch action {
             
         case #selector(ExternalBrowserWindowController.addBookmark(_:)):
+            
             return webView.mainFrameURL != nil
             
         case #selector(ExternalBrowserWindowController.showBookmark(_:)):
+            
             if showsBookmarkList() {
                 
                 menuItem.title = LocalizedStrings.hideBookmark.string
@@ -187,22 +218,30 @@ extension ExternalBrowserWindowController {
                 
                 menuItem.title = LocalizedStrings.showBookmark.string
             }
+            
             return true
             
         case #selector(ExternalBrowserWindowController.selectBookmark(_:)):
+            
             return true
             
         case #selector(ExternalBrowserWindowController.reloadContent(_:)):
+            
             return true
             
         default:
+            
             return false
+            
         }
     }
     
     @IBAction func selectBookmark(_ sender: AnyObject?) {
         
-        guard let item = sender?.representedObject as? Bookmark else { return }
+        guard let item = sender?.representedObject as? Bookmark else {
+            
+            return
+        }
         
         move(bookmark: item)
     }
@@ -219,7 +258,10 @@ extension ExternalBrowserWindowController {
     
     @IBAction func clickGoBackSegment(_ sender: AnyObject?) {
         
-        guard let cell = goSegment.cell as? NSSegmentedCell else { return }
+        guard let cell = goSegment.cell as? NSSegmentedCell else {
+            
+            return
+        }
         
         let tag = cell.tag(forSegment: cell.selectedSegment)
         switch tag {
@@ -229,28 +271,44 @@ extension ExternalBrowserWindowController {
         case 1: webView.goForward(nil)
             
         default: break
+            
         }
     }
     
     @IBAction func addBookmark(_ sender: AnyObject?) {
         
-        guard let window = window else { return }
-        guard let bookmark = BookmarkManager.shared.createNewBookmark() else { return }
-        
-        bookmark.name = window.title
-        bookmark.urlString = webView.mainFrameURL
-        bookmark.windowContentSize = windowContentSize
-        bookmark.contentVisibleRect = contentVisibleRect
-        bookmark.canResize = canResize
-        bookmark.canScroll = canScroll
-        bookmark.scrollDelay = 0.5
+        guard let window = window else {
+            
+            return
+        }
+        _ = BookmarkManager.shared.createNewBookmark { bookmark in
+            
+            bookmark.name = window.title
+            bookmark.urlString = self.webView.mainFrameURL
+            bookmark.windowContentSize = self.windowContentSize
+            bookmark.contentVisibleRect = self.contentVisibleRect
+            bookmark.canResize = self.canResize
+            bookmark.canScroll = self.canScroll
+            bookmark.scrollDelay = 0.5
+            
+            return true
+        }
     }
     
     @IBAction func showBookmark(_ sender: AnyObject?) {
         
-        guard let window = window else { return }
-        guard let _ = bookmarkListViwController else { return }
-        guard !bookmarkShowing else { return }
+        guard let window = window else {
+            
+            return
+        }
+        guard let _ = bookmarkListViwController else {
+            
+            return
+        }
+        guard !bookmarkShowing else {
+            
+            return
+        }
         
         bookmarkShowing = true
         
@@ -313,7 +371,10 @@ extension ExternalBrowserWindowController {
     
     @IBAction func increaseWidth(_ sender: AnyObject?) {
         
-        guard let window = window else { return }
+        guard let window = window else {
+            
+            return
+        }
         
         var frame = window.frame
         frame.size.width += 1
@@ -322,7 +383,10 @@ extension ExternalBrowserWindowController {
     
     @IBAction func decreaseWidth(_ sender: AnyObject?) {
         
-        guard let window = window else { return }
+        guard let window = window else {
+            
+            return
+        }
         
         var frame = window.frame
         frame.size.width -= 1
@@ -331,7 +395,10 @@ extension ExternalBrowserWindowController {
     
     @IBAction func increaseHeight(_ sender: AnyObject?) {
         
-        guard let window = window else { return }
+        guard let window = window else {
+            
+            return
+        }
         
         var frame = window.frame
         frame.size.height += 1
@@ -341,7 +408,10 @@ extension ExternalBrowserWindowController {
     
     @IBAction func decreaseHeight(_ sender: AnyObject?) {
         
-        guard let window = window else { return }
+        guard let window = window else {
+            
+            return
+        }
         
         var frame = window.frame
         frame.size.height -= 1
@@ -362,7 +432,10 @@ extension ExternalBrowserWindowController: WebFrameLoadDelegate, WebPolicyDelega
     
     @objc func updateContentVisibleRect(_ timer: Timer) {
         
-        guard let item = timer.userInfo as? Bookmark else { return }
+        guard let item = timer.userInfo as? Bookmark else {
+            
+            return
+        }
         
         contentVisibleRect = item.contentVisibleRect
     }