Skip to content

Commit

Permalink
Add dismiss/undismiss actions in event submenu
Browse files Browse the repository at this point in the history
  • Loading branch information
leits committed Jul 5, 2023
1 parent 1ed16a7 commit 2531afe
Show file tree
Hide file tree
Showing 13 changed files with 56 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@
"status_bar_submenu_open_in_fantastical" = "Otevřít v aplikaci Fantastical";
"status_bar_submenu_open_in_calendar" = "Otevřít v aplikaci Kalendář";
"status_bar_submenu_copy_meeting_link" = "Zkopírovat odkaz na schůzku";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Poslat e-mail účastníkům";
"status_bar_submenu_attendees_status_unknown" = " [?]";
"status_bar_submenu_attendees_status_tentative" = " [nezávazně]";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@
"status_bar_show_meeting_names" = "Meeting-Titel anzeigen";
"status_bar_quick_actions" = "Schnellaktionen";
"status_bar_submenu_copy_meeting_link" = "Meeting-Link kopieren";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "E-Mail an Teilnehmer";
"status_bar_submenu_open_in_fantastical" = "Fantastical öffnen";
"status_bar_submenu_open_in_calendar" = "In Kalender-App öffnen";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@
"status_bar_submenu_attendees_status_tentative" = " [tentative]";
"status_bar_submenu_attendees_status_unknown" = " [?]";
"status_bar_submenu_copy_meeting_link" = "Copy meeting link";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Email attendees";
"status_bar_submenu_open_in_calendar" = "Open in Calendar App";
"status_bar_submenu_open_in_fantastical" = "Open in Fantastical";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@
"status_bar_show_meeting_names" = "Afficher le titre de la réunion";
"status_bar_quick_actions" = "Actions rapides";
"status_bar_submenu_copy_meeting_link" = "Copier le lien de la réunion";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Envoyer un courriel aux participants";
"status_bar_submenu_open_in_fantastical" = "Ouvrir dans Fantastical";
"status_bar_submenu_open_in_calendar" = "Ouvrir dans l'application Calendrier";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@
"status_bar_section_join_current_meeting" = "הצטרפות לפגישת האירוע הנוכחית";
"status_bar_submenu_attendees_status_tentative" = " [טנטטיבי]";
"status_bar_submenu_copy_meeting_link" = "העתקת קישור פגישה";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_open_in_fantastical" = "פתיחה ב־Fantastical";
"status_bar_show_meeting_names" = "הצגת כותרת הפגישה";
"status_bar_hide_meeting_names" = "הסתרת כותרת הפגישה";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,8 @@
"status_bar_submenu_attendees_status_tentative" = " [provizorno]";
"status_bar_submenu_attendees_status_unknown" = " [?]";
"status_bar_submenu_copy_meeting_link" = "Kopiraj poveznicu na sastanak";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Pošalji e -mail sudionicima";
"status_bar_submenu_open_in_calendar" = "Otvori u programu Kalendar";
"status_bar_submenu_open_in_fantastical" = "Otvori u Fantastical";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@
"status_bar_submenu_attendees_status_tentative" = " [tentativo]";
"status_bar_submenu_attendees_status_unknown" = " [?]";
"status_bar_submenu_copy_meeting_link" = "Copia il link della riunione";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Invia una mail ai partecipanti";
"status_bar_submenu_open_in_calendar" = "Apri nell'app Calendario";
"status_bar_submenu_open_in_fantastical" = "Apri in Fantastical";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@
"status_bar_submenu_attendees_status_tentative" = " [名無しさん]";
"status_bar_submenu_attendees_status_unknown" = " [?]";
"status_bar_submenu_copy_meeting_link" = "ミーティングリンクをコピー";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "参加者にメールを送信";
"status_bar_submenu_open_in_calendar" = "カレンダーアプリで開く";
"status_bar_submenu_open_in_fantastical" = "Fantastical で開く";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,8 @@
"status_bar_show_meeting_names" = "Vis møtetittel";
"status_bar_quick_actions" = "Hurtighandlinger";
"status_bar_submenu_copy_meeting_link" = "Copy meeting link";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Email attendees";
"status_bar_submenu_open_in_fantastical" = "Åpne i Fantastical";
"status_bar_submenu_open_in_calendar" = "Åpne i kalenderprogram";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@
"status_bar_submenu_attendees_you" = "%@ (ty)";
"status_bar_submenu_attendees_status_tentative" = " [oczekujący]";
"status_bar_submenu_copy_meeting_link" = "Skopiuj link spotkania";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_email_attendees" = "Adresy email uczestników";
"status_bar_submenu_open_in_calendar" = "Otwórz w aplikacji Kalendarz";
"status_bar_submenu_open_in_fantastical" = "Otwórz w Fantastical";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,8 @@
"store_patronage_purchase_store_product_not_available_message" = "Ürün mevcut mağazada bulunmamaktadır";
"status_bar_submenu_location_title" = "Konum:";
"status_bar_submenu_copy_meeting_link" = "Bağlantı linkini kopyala";
"status_bar_submenu_dismiss_meeting" = "Dismiss meeting";
"status_bar_submenu_undismiss_meeting" = "Remove dismissal";
"status_bar_submenu_open_in_fantastical" = "Fantastical'da aç";
"status_bar_show_meeting_names" = "Toplantı başlığını göster";
"status_bar_event_status_in" = "%@";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,8 @@
"status_bar_submenu_attendees_status_tentative" = " [мабуть]";
"status_bar_submenu_attendees_status_unknown" = " [?]";
"status_bar_submenu_copy_meeting_link" = "Скопіювати посилання на зустріч";
"status_bar_submenu_dismiss_meeting" = "Пропустити зустріч";
"status_bar_submenu_undismiss_meeting" = "Повернути зустріч";
"status_bar_submenu_email_attendees" = "Надіслати учасникам емейл";
"status_bar_submenu_open_in_calendar" = "Відкрити у застосунку \"Календар\"";
"status_bar_submenu_open_in_fantastical" = "Відкрити у застосунку \"Fantastical\"";
Expand Down
32 changes: 32 additions & 0 deletions MeetingBar/StatusBarItemController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,17 @@ class StatusBarItemController {
copyLinkItem.target = self
copyLinkItem.representedObject = event

// Dismiss/undismiss meeting
if Defaults[.dismissedEvents].contains(where: { $0.id == event.ID }) {
let undismissItem = eventMenu.addItem(withTitle: "status_bar_submenu_undismiss_meeting".loco(), action: #selector(undismissEvent), keyEquivalent: "")
undismissItem.target = self
undismissItem.representedObject = event
} else {
let dismissItem = eventMenu.addItem(withTitle: "status_bar_submenu_dismiss_meeting".loco(), action: #selector(dismissEvent), keyEquivalent: "")
dismissItem.target = self
dismissItem.representedObject = event
}

// Send email
let emailItem = eventMenu.addItem(withTitle: "status_bar_submenu_email_attendees".loco(), action: #selector(emailAttendees), keyEquivalent: "")
emailItem.target = self
Expand Down Expand Up @@ -893,6 +904,27 @@ class StatusBarItemController {
}
}

@objc
func dismissEvent(sender: NSMenuItem) {
if let event: MBEvent = sender.representedObject as? MBEvent {
let dismissedEvent = ProcessedEvent(id: event.ID, lastModifiedDate: event.lastModifiedDate, eventEndDate: event.endDate)
Defaults[.dismissedEvents].append(dismissedEvent)

updateTitle()
updateMenu()
}
}

@objc
func undismissEvent(sender: NSMenuItem) {
if let event: MBEvent = sender.representedObject as? MBEvent {
Defaults[.dismissedEvents] = Defaults[.dismissedEvents].filter { $0.id != event.ID }

updateTitle()
updateMenu()
}
}

@objc
func copyEventMeetingLink(sender: NSMenuItem) {
if let event: MBEvent = sender.representedObject as? MBEvent {
Expand Down

0 comments on commit 2531afe

Please sign in to comment.