diff --git a/Evergreen/Base.lproj/MainWindow.storyboard b/Evergreen/Base.lproj/MainWindow.storyboard
index 2e6f49dc6..681e4fc9c 100644
--- a/Evergreen/Base.lproj/MainWindow.storyboard
+++ b/Evergreen/Base.lproj/MainWindow.storyboard
@@ -612,44 +612,51 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
diff --git a/Evergreen/MainWindow/Detail/DetailStatusBarView.swift b/Evergreen/MainWindow/Detail/DetailStatusBarView.swift
index 48de21fe1..464a189d8 100644
--- a/Evergreen/MainWindow/Detail/DetailStatusBarView.swift
+++ b/Evergreen/MainWindow/Detail/DetailStatusBarView.swift
@@ -14,40 +14,51 @@ final class DetailStatusBarView: NSView {
@IBOutlet var urlLabel: NSTextField!
-// private var didConfigureLayer = false
-
- private var article: Article? {
- didSet {
- updateURLLabel()
- }
- }
+ private var didConfigureLayer = false
private var mouseoverLink: String? {
didSet {
- updateURLLabel()
+ updateLinkForDisplay()
}
}
- private let backgroundColor = appDelegate.currentTheme.color(forKey: "MainWindow.Detail.statusBar.backgroundColor")
+ private var linkForDisplay: String? {
+ didSet {
+ needsLayout = true
+ if let link = linkForDisplay {
+ urlLabel.stringValue = link
+ self.isHidden = false
+ }
+ else {
+ urlLabel.stringValue = ""
+ self.isHidden = true
+ }
+ }
+ }
+ override var isOpaque: Bool {
+ return false
+ }
+
override var isFlipped: Bool {
return true
}
-// override var wantsUpdateLayer: Bool {
-// return true
-// }
-//
-// override func updateLayer() {
-//
-// guard !didConfigureLayer else {
-// return
-// }
-// if let layer = layer {
-// let color = appDelegate.currentTheme.color(forKey: "MainWindow.Detail.statusBar.backgroundColor")
-// layer.backgroundColor = color.cgColor
-// didConfigureLayer = true
-// }
-// }
+ override var wantsUpdateLayer: Bool {
+ return true
+ }
+
+ override func updateLayer() {
+
+ guard !didConfigureLayer else {
+ return
+ }
+ if let layer = layer {
+ let color = appDelegate.currentTheme.color(forKey: "MainWindow.Detail.statusBar.backgroundColor")
+ layer.backgroundColor = color.cgColor
+ layer.cornerRadius = 4.0
+ didConfigureLayer = true
+ }
+ }
override func awakeFromNib() {
@@ -55,6 +66,8 @@ final class DetailStatusBarView: NSView {
NotificationCenter.default.addObserver(self, selector: #selector(mouseDidEnterLink(_:)), name: .MouseDidEnterLink, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(mouseDidExitLink(_:)), name: .MouseDidExitLink, object: nil)
+
+ alphaValue = 0.9
}
// MARK: - Notifications
@@ -84,24 +97,6 @@ final class DetailStatusBarView: NSView {
return
}
mouseoverLink = nil
- article = notification.userInfo?[UserInfoKey.article] as? Article
- }
-
- // MARK: Drawing
-
- private let lineColor = NSColor(calibratedWhite: 0.85, alpha: 1.0)
-
- override func draw(_ dirtyRect: NSRect) {
-
- backgroundColor.set()
- dirtyRect.fill()
-
- let path = NSBezierPath()
- path.lineWidth = 1.0
- path.move(to: NSPoint(x: NSMinX(bounds), y: NSMinY(bounds) + 0.5))
- path.line(to: NSPoint(x: NSMaxX(bounds), y: NSMinY(bounds) + 0.5))
- lineColor.set()
- path.stroke()
}
}
@@ -109,32 +104,15 @@ private extension DetailStatusBarView {
// MARK: URL Label
- func updateURLLabel() {
-
- needsLayout = true
-
- guard let article = article else {
- setURLLabel("")
- return
- }
+ func updateLinkForDisplay() {
if let mouseoverLink = mouseoverLink, !mouseoverLink.isEmpty {
- setURLLabel(mouseoverLink)
- return
- }
-
- if let s = article.preferredLink {
- setURLLabel(s)
+ linkForDisplay = (mouseoverLink as NSString).rs_stringByStrippingHTTPOrHTTPSScheme()
}
else {
- setURLLabel("")
+ linkForDisplay = nil
}
}
-
- func setURLLabel(_ link: String) {
-
- urlLabel.stringValue = (link as NSString).rs_stringByStrippingHTTPOrHTTPSScheme()
- }
}
diff --git a/Evergreen/MainWindow/Detail/DetailViewController.swift b/Evergreen/MainWindow/Detail/DetailViewController.swift
index f54dc1ee5..6bcfe7645 100644
--- a/Evergreen/MainWindow/Detail/DetailViewController.swift
+++ b/Evergreen/MainWindow/Detail/DetailViewController.swift
@@ -224,6 +224,8 @@ private extension DetailViewController {
final class DetailContainerView: NSView {
+ @IBOutlet var detailStatusBarView: DetailStatusBarView!
+
weak var viewController: DetailViewController? = nil
private var didConfigureLayer = false
@@ -239,7 +241,7 @@ final class DetailContainerView: NSView {
}
if let contentView = contentView {
contentView.translatesAutoresizingMaskIntoConstraints = false
- addSubview(contentView)
+ addSubview(contentView, positioned: .below, relativeTo: detailStatusBarView)
rs_addFullSizeConstraints(forSubview: contentView)
}
}
diff --git a/Evergreen/Resources/DB5.plist b/Evergreen/Resources/DB5.plist
index 8399d79f0..17f87ccf5 100644
--- a/Evergreen/Resources/DB5.plist
+++ b/Evergreen/Resources/DB5.plist
@@ -123,7 +123,7 @@
statusBar
backgroundColor
- FFFFFF
+ F0F0F0
backgroundColor
FFFFFF