From 6b1ad170caeac1c8dd46b1d078ce4f98bd306167 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Tue, 2 Feb 2021 08:16:45 +0800 Subject: [PATCH] Adds sidebar toggles for notifications/reader --- ...idebarViewController+ContextualMenus.swift | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/Mac/MainWindow/Sidebar/SidebarViewController+ContextualMenus.swift b/Mac/MainWindow/Sidebar/SidebarViewController+ContextualMenus.swift index 61661bb55..8dd53b15a 100644 --- a/Mac/MainWindow/Sidebar/SidebarViewController+ContextualMenus.swift +++ b/Mac/MainWindow/Sidebar/SidebarViewController+ContextualMenus.swift @@ -98,6 +98,23 @@ extension SidebarViewController { } window.beginSheet(renameSheet) } + + @objc func toggleNotificationsFromContextMenu(_ sender: Any?) { + guard let item = sender as? NSMenuItem, + let feed = item.representedObject as? WebFeed else { + return + } + feed.isNotifyAboutNewArticles?.toggle() + } + + @objc func toggleArticleExtractorFromContextMenu(_ sender: Any?) { + guard let item = sender as? NSMenuItem, + let feed = item.representedObject as? WebFeed else { + return + } + feed.isArticleExtractorAlwaysOn?.toggle() + } + } extension SidebarViewController: RenameWindowControllerDelegate { @@ -163,7 +180,24 @@ private extension SidebarViewController { menu.addItem(item) } menu.addItem(NSMenuItem.separator()) - + + var notificationText: String! + if webFeed.isNotifyAboutNewArticles != nil && webFeed.isNotifyAboutNewArticles! { + notificationText = NSLocalizedString("Disable New Article Notifications", comment: "Disable Notifications") + } else { + notificationText = NSLocalizedString("Enable New Article Notifications", comment: "Enable Notifications") + } + menu.addItem(menuItem(notificationText, #selector(toggleNotificationsFromContextMenu(_:)), webFeed)) + + var articleExtractorText: String! + if webFeed.isArticleExtractorAlwaysOn != nil && webFeed.isArticleExtractorAlwaysOn! { + articleExtractorText = NSLocalizedString("Disable Reader View", comment: "Disable Reader View") + } else { + articleExtractorText = NSLocalizedString("Enable Reader View", comment: "Enable Reader View") + } + menu.addItem(menuItem(articleExtractorText, #selector(toggleArticleExtractorFromContextMenu(_:)), webFeed)) + menu.addItem(NSMenuItem.separator()) + menu.addItem(renameMenuItem(webFeed)) menu.addItem(deleteMenuItem([webFeed]))