Persist article read filters across application launches. Issue #1349

This commit is contained in:
Maurice Parker
2019-11-27 11:43:36 -06:00
parent 991ecf2a71
commit 81c4756f97
5 changed files with 56 additions and 32 deletions

View File

@@ -103,15 +103,12 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner
// MARK: Actions
@IBAction func toggleFilter(_ sender: Any) {
switch coordinator.articleReadFilterType {
case .none:
filterButton.image = AppAssets.filterActiveImage
coordinator.hideUnreadArticles()
case .read:
if coordinator.isReadArticlesFiltered {
filterButton.image = AppAssets.filterInactiveImage
coordinator.showAllArticles()
case .alwaysRead:
break
} else {
filterButton.image = AppAssets.filterActiveImage
coordinator.hideReadArticles()
}
}
@@ -524,17 +521,19 @@ private extension MasterTimelineViewController {
navigationItem.titleView = titleView
}
switch coordinator.articleReadFilterType {
case .none:
switch coordinator.timelineDefaultReadFilterType {
case .none, .read:
filterButton.isHidden = false
filterButton.image = AppAssets.filterInactiveImage
case .read:
filterButton.isHidden = false
filterButton.image = AppAssets.filterActiveImage
case .alwaysRead:
filterButton.isHidden = true
}
if coordinator.isReadArticlesFiltered {
filterButton.image = AppAssets.filterActiveImage
} else {
filterButton.image = AppAssets.filterInactiveImage
}
tableView.selectRow(at: nil, animated: false, scrollPosition: .top)
if dataSource.snapshot().itemIdentifiers(inSection: 0).count > 0 {
tableView.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: false)