Switch macOS deployment target to 10.13. Get MarkAllReadCommand working as an undoable command.

This commit is contained in:
Brent Simmons
2017-10-29 11:14:10 -07:00
parent f388a9f4dc
commit f9b3eeb4d7
18 changed files with 77 additions and 42 deletions

View File

@@ -16,20 +16,28 @@ final class MarkAllReadCommand: UndoableCommand {
let undoActionName = actionName
let redoActionName = actionName
let articles: Set<Article>
let undoManager: UndoManager
init(initialArticles: [Article]) {
init?(initialArticles: [Article], undoManager: UndoManager) {
// Filter out articles already read.
let unreadArticles = initialArticles.filter { !$0.status.read }
if unreadArticles.isEmpty {
return nil
}
self.articles = Set(unreadArticles)
self.undoManager = undoManager
}
func perform() {
mark(read: true)
registerUndo()
}
func undo() {
mark(read: false)
registerRedo()
}
func redo() {