mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2025-02-01 11:36:56 +01:00
Make Mark All as Read command in sidebar gear menu work.
This commit is contained in:
parent
2999641572
commit
c26c705de0
@ -55,7 +55,19 @@ extension SidebarViewController {
|
||||
|
||||
@objc func markObjectsReadFromContextualMenu(_ sender: Any?) {
|
||||
|
||||
guard let menuItem = sender as? NSMenuItem, let objects = menuItem.representedObject as? [Any] else {
|
||||
return
|
||||
}
|
||||
|
||||
let articles = unreadArticles(for: objects)
|
||||
if articles.isEmpty {
|
||||
return
|
||||
}
|
||||
|
||||
guard let undoManager = undoManager, let markReadCommand = MarkReadOrUnreadCommand(initialArticles: Array(articles), markingRead: true, undoManager: undoManager) else {
|
||||
return
|
||||
}
|
||||
runCommand(markReadCommand)
|
||||
}
|
||||
|
||||
@objc func deleteFromContextualMenu(_ sender: Any?) {
|
||||
@ -215,5 +227,16 @@ private extension SidebarViewController {
|
||||
item.target = self
|
||||
return item
|
||||
}
|
||||
|
||||
func unreadArticles(for objects: [Any]) -> Set<Article> {
|
||||
|
||||
var articles = Set<Article>()
|
||||
for object in objects {
|
||||
if let articleFetcher = object as? ArticleFetcher {
|
||||
articles.formUnion(articleFetcher.fetchUnreadArticles())
|
||||
}
|
||||
}
|
||||
return articles
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user