2017-05-27 19:43:27 +02:00
|
|
|
//
|
|
|
|
// UnreadIndicatorView.swift
|
|
|
|
// Evergreen
|
|
|
|
//
|
|
|
|
// Created by Brent Simmons on 2/16/16.
|
|
|
|
// Copyright © 2016 Ranchero Software, LLC. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2018-02-03 07:51:32 +01:00
|
|
|
import AppKit
|
2017-05-27 19:43:27 +02:00
|
|
|
|
|
|
|
class UnreadIndicatorView: NSView {
|
|
|
|
|
2017-11-25 06:39:59 +01:00
|
|
|
static let unreadCircleDimension = appDelegate.currentTheme.float(forKey: "MainWindow.Timeline.cell.unreadCircleDimension")
|
2017-05-27 19:43:27 +02:00
|
|
|
|
|
|
|
static let bezierPath: NSBezierPath = {
|
|
|
|
let r = NSRect(x: 0.0, y: 0.0, width: unreadCircleDimension, height: unreadCircleDimension)
|
|
|
|
return NSBezierPath(ovalIn: r)
|
|
|
|
}()
|
|
|
|
|
2017-11-25 06:39:59 +01:00
|
|
|
static let unreadCircleColor = appDelegate.currentTheme.color(forKey: "MainWindow.Timeline.cell.unreadCircleColor")
|
2017-05-27 19:43:27 +02:00
|
|
|
|
2018-01-06 23:33:16 +01:00
|
|
|
var isEmphasized = false {
|
|
|
|
didSet {
|
|
|
|
if isEmphasized != oldValue {
|
|
|
|
needsDisplay = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var isSelected = false {
|
|
|
|
didSet {
|
|
|
|
if isSelected != oldValue {
|
|
|
|
needsDisplay = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-05-27 19:43:27 +02:00
|
|
|
override func draw(_ dirtyRect: NSRect) {
|
2018-01-06 23:33:16 +01:00
|
|
|
|
2018-07-22 04:17:20 +02:00
|
|
|
if #available(OSX 10.14, *) {
|
|
|
|
let color = isEmphasized && isSelected ? NSColor.white : NSColor.controlAccent
|
|
|
|
color.setFill()
|
|
|
|
} else {
|
|
|
|
let color = isEmphasized && isSelected ? NSColor.white : NSColor.systemBlue
|
|
|
|
color.setFill()
|
|
|
|
}
|
2017-05-27 19:43:27 +02:00
|
|
|
UnreadIndicatorView.bezierPath.fill()
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|