Draw a white unread indicator in the timeline when the cell is selected and emphasized. Fix #112.
This commit is contained in:
parent
36b3ad8e85
commit
0a1642abdf
@ -62,6 +62,7 @@ class TimelineTableCellView: NSTableCellView {
|
|||||||
dateView.emphasized = isEmphasized
|
dateView.emphasized = isEmphasized
|
||||||
feedNameView.emphasized = isEmphasized
|
feedNameView.emphasized = isEmphasized
|
||||||
titleView.emphasized = isEmphasized
|
titleView.emphasized = isEmphasized
|
||||||
|
unreadIndicatorView.isEmphasized = isEmphasized
|
||||||
needsDisplay = true
|
needsDisplay = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,6 +72,7 @@ class TimelineTableCellView: NSTableCellView {
|
|||||||
dateView.selected = isSelected
|
dateView.selected = isSelected
|
||||||
feedNameView.selected = isSelected
|
feedNameView.selected = isSelected
|
||||||
titleView.selected = isSelected
|
titleView.selected = isSelected
|
||||||
|
unreadIndicatorView.isSelected = isSelected
|
||||||
needsDisplay = true
|
needsDisplay = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,9 +19,26 @@ class UnreadIndicatorView: NSView {
|
|||||||
|
|
||||||
static let unreadCircleColor = appDelegate.currentTheme.color(forKey: "MainWindow.Timeline.cell.unreadCircleColor")
|
static let unreadCircleColor = appDelegate.currentTheme.color(forKey: "MainWindow.Timeline.cell.unreadCircleColor")
|
||||||
|
|
||||||
|
var isEmphasized = false {
|
||||||
|
didSet {
|
||||||
|
if isEmphasized != oldValue {
|
||||||
|
needsDisplay = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var isSelected = false {
|
||||||
|
didSet {
|
||||||
|
if isSelected != oldValue {
|
||||||
|
needsDisplay = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override func draw(_ dirtyRect: NSRect) {
|
override func draw(_ dirtyRect: NSRect) {
|
||||||
|
|
||||||
UnreadIndicatorView.unreadCircleColor.setFill()
|
let color = isEmphasized && isSelected ? NSColor.white : UnreadIndicatorView.unreadCircleColor
|
||||||
|
color.setFill()
|
||||||
UnreadIndicatorView.bezierPath.fill()
|
UnreadIndicatorView.bezierPath.fill()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user