mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Draw a white unread indicator in the timeline when the cell is selected and emphasized. Fix #112.
This commit is contained in:
@@ -61,7 +61,8 @@ class TimelineTableCellView: NSTableCellView {
|
||||
didSet {
|
||||
dateView.emphasized = isEmphasized
|
||||
feedNameView.emphasized = isEmphasized
|
||||
titleView.emphasized = isEmphasized
|
||||
titleView.emphasized = isEmphasized
|
||||
unreadIndicatorView.isEmphasized = isEmphasized
|
||||
needsDisplay = true
|
||||
}
|
||||
}
|
||||
@@ -71,6 +72,7 @@ class TimelineTableCellView: NSTableCellView {
|
||||
dateView.selected = isSelected
|
||||
feedNameView.selected = isSelected
|
||||
titleView.selected = isSelected
|
||||
unreadIndicatorView.isSelected = isSelected
|
||||
needsDisplay = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,9 +19,26 @@ class UnreadIndicatorView: NSView {
|
||||
|
||||
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) {
|
||||
|
||||
UnreadIndicatorView.unreadCircleColor.setFill()
|
||||
|
||||
let color = isEmphasized && isSelected ? NSColor.white : UnreadIndicatorView.unreadCircleColor
|
||||
color.setFill()
|
||||
UnreadIndicatorView.bezierPath.fill()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user