mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Make unread indicator white for selected and emphasized rows in timeline. Issue #655
This commit is contained in:
@@ -48,6 +48,18 @@ class TimelineTableCellView: NSTableCellView {
|
||||
}
|
||||
}
|
||||
|
||||
var isEmphasized: Bool = false {
|
||||
didSet {
|
||||
unreadIndicatorView.isEmphasized = isEmphasized
|
||||
}
|
||||
}
|
||||
|
||||
var isSelected: Bool = false {
|
||||
didSet {
|
||||
unreadIndicatorView.isSelected = isSelected
|
||||
}
|
||||
}
|
||||
|
||||
override var isFlipped: Bool {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -12,13 +12,33 @@ class UnreadIndicatorView: NSView {
|
||||
|
||||
static let unreadCircleDimension: CGFloat = 8.0
|
||||
|
||||
var isEmphasized = false {
|
||||
didSet {
|
||||
if isEmphasized != oldValue {
|
||||
needsDisplay = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var isSelected = false {
|
||||
didSet {
|
||||
if isSelected != oldValue {
|
||||
needsDisplay = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static let bezierPath: NSBezierPath = {
|
||||
let r = NSRect(x: 0.0, y: 0.0, width: unreadCircleDimension, height: unreadCircleDimension)
|
||||
return NSBezierPath(ovalIn: r)
|
||||
}()
|
||||
|
||||
override func draw(_ dirtyRect: NSRect) {
|
||||
NSColor.controlAccentColor.setFill()
|
||||
if isSelected && isEmphasized {
|
||||
NSColor.white.setFill()
|
||||
} else {
|
||||
NSColor.controlAccentColor.setFill()
|
||||
}
|
||||
UnreadIndicatorView.bezierPath.fill()
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,18 @@ class TimelineTableRowView : NSTableRowView {
|
||||
return true
|
||||
}
|
||||
|
||||
override var isEmphasized: Bool {
|
||||
didSet {
|
||||
cellView?.isEmphasized = isEmphasized
|
||||
}
|
||||
}
|
||||
|
||||
override var isSelected: Bool {
|
||||
didSet {
|
||||
cellView?.isSelected = isSelected
|
||||
}
|
||||
}
|
||||
|
||||
init() {
|
||||
super.init(frame: NSRect.zero)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user