From a0a81e4917df4e1bcf87e54b11cfd6904c06277c Mon Sep 17 00:00:00 2001 From: Abhishek Banthia <8280282+n0shake@users.noreply.github.com> Date: Sat, 13 Apr 2024 13:19:18 -0400 Subject: [PATCH] Alternate button for calendar. --- Clocker/Overall App/Themer.swift | 14 +++++++++++++- .../Upcoming Events/UpcomingEventViewItem.swift | 14 +++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Clocker/Overall App/Themer.swift b/Clocker/Overall App/Themer.swift index f1302ac..28d9990 100644 --- a/Clocker/Overall App/Themer.swift +++ b/Clocker/Overall App/Themer.swift @@ -220,7 +220,19 @@ extension Themer { } func removeImage() -> NSImage { - if let symbolImage = symbolImage(for: "xmark") { + if let symbolImage = symbolImage(for: "xmark.circle") { + return symbolImage + } + + return fallbackImageProvider(NSImage(named: NSImage.Name("Remove"))!, + NSImage(named: NSImage.Name("WhiteRemove"))!, + NSImage(named: NSImage.Name("Remove Dynamic"))!, + NSImage(named: NSImage.Name("Remove"))!, + NSImage(named: NSImage.Name("WhiteRemove"))!) + } + + func removeAlternateImage() -> NSImage { + if let symbolImage = symbolImage(for: "xmark.circle.fill") { return symbolImage } diff --git a/Clocker/Panel/Upcoming Events/UpcomingEventViewItem.swift b/Clocker/Panel/Upcoming Events/UpcomingEventViewItem.swift index 1a45243..2ea252b 100644 --- a/Clocker/Panel/Upcoming Events/UpcomingEventViewItem.swift +++ b/Clocker/Panel/Upcoming Events/UpcomingEventViewItem.swift @@ -19,6 +19,7 @@ class UpcomingEventViewItem: NSCollectionViewItem { private weak var panelDelegate: UpcomingEventPanelDelegate? override func viewDidLoad() { + zoomButton.setButtonType(.momentaryChange) zoomButton.target = self zoomButton.action = #selector(zoomButtonAction(_:)) } @@ -91,7 +92,8 @@ class UpcomingEventViewItem: NSCollectionViewItem { setAlternateState(NSLocalizedString("See your next Calendar event here.", comment: "Next Event Label for no Calendar access"), NSLocalizedString("Click here to start.", comment: "Button Title for no Calendar access"), NSColor.systemBlue, - Themer.shared().removeImage()) + Themer.shared().removeImage(), + Themer.shared().removeAlternateImage()) } func setupEmptyState() { @@ -100,10 +102,15 @@ class UpcomingEventViewItem: NSCollectionViewItem { setAlternateState(NSLocalizedString("No upcoming events for today!", comment: "Next Event Label with no upcoming event"), subtitle, NSColor.systemGreen, - nil) + nil, + nil) } - private func setAlternateState(_ title: String, _ buttonTitle: String, _ color: NSColor, _ image: NSImage? = nil) { + private func setAlternateState(_ title: String, + _ buttonTitle: String, + _ color: NSColor, + _ image: NSImage?, + _ alternateImage: NSImage?) { if leadingConstraint.constant != UpcomingEventViewItem.EventLeadingConstraint { leadingConstraint.animator().constant = UpcomingEventViewItem.EventLeadingConstraint } @@ -112,6 +119,7 @@ class UpcomingEventViewItem: NSCollectionViewItem { setCalendarButtonTitle(buttonTitle: buttonTitle, cancellationState: false) calendarColorView.layer?.backgroundColor = color.cgColor zoomButton.image = image + zoomButton.alternateImage = alternateImage } private func setCalendarButtonTitle(buttonTitle: String, cancellationState: Bool) {