Make clean up availability take read count into consideration. Issue #2352
This commit is contained in:
parent
348e8734e7
commit
b0de353d02
|
@ -918,9 +918,7 @@ private extension MainWindowController {
|
|||
}
|
||||
|
||||
func validateCleanUp(_ item: NSValidatedUserInterfaceItem) -> Bool {
|
||||
let isSidebarFiltered = sidebarViewController?.isReadFiltered ?? false
|
||||
let isTimelineFiltered = timelineContainerViewController?.isReadFiltered ?? false
|
||||
return isSidebarFiltered || isTimelineFiltered
|
||||
return timelineContainerViewController?.isCleanUpAvailable ?? false
|
||||
}
|
||||
|
||||
func validateToggleReadFeeds(_ item: NSValidatedUserInterfaceItem) -> Bool {
|
||||
|
|
|
@ -45,6 +45,11 @@ final class TimelineContainerViewController: NSViewController {
|
|||
return regularTimelineViewController.isReadFiltered
|
||||
}
|
||||
|
||||
var isCleanUpAvailable: Bool {
|
||||
guard let currentTimelineViewController = currentTimelineViewController, mode(for: currentTimelineViewController) == .regular else { return false }
|
||||
return regularTimelineViewController.isCleanUpAvailable
|
||||
}
|
||||
|
||||
lazy var regularTimelineViewController = {
|
||||
return TimelineViewController(delegate: self)
|
||||
}()
|
||||
|
|
|
@ -43,6 +43,15 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr
|
|||
}
|
||||
}
|
||||
|
||||
var isCleanUpAvailable: Bool {
|
||||
guard isReadFiltered ?? false else { return false }
|
||||
|
||||
let readSelectedCount = selectedArticles.filter({ $0.status.read }).count
|
||||
let readArticleCount = articles.count - unreadCount
|
||||
let availableToCleanCount = readArticleCount - readSelectedCount
|
||||
return availableToCleanCount > 0
|
||||
}
|
||||
|
||||
var representedObjects: [AnyObject]? {
|
||||
didSet {
|
||||
if !representedObjectArraysAreEqual(oldValue, representedObjects) {
|
||||
|
|
Loading…
Reference in New Issue