From 1957ecb6f9023318b9aa0d5e4d001f684c00904f Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Fri, 28 Jan 2022 16:01:01 -0800 Subject: [PATCH] Update how the refresh indicator works on the Timeline to better match the new 3 panel functionality --- .../MasterTimelineViewController.swift | 35 +++++-------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/iOS/MasterTimeline/MasterTimelineViewController.swift b/iOS/MasterTimeline/MasterTimelineViewController.swift index ee682813c..87906f33e 100644 --- a/iOS/MasterTimeline/MasterTimelineViewController.swift +++ b/iOS/MasterTimeline/MasterTimelineViewController.swift @@ -17,11 +17,12 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner private var iconSize = IconSize.medium private lazy var feedTapGestureRecognizer = UITapGestureRecognizer(target: self, action:#selector(showFeedInspector(_:))) - private var refreshProgressView: RefreshProgressView? + private var filterButton: UIBarButtonItem! @IBOutlet weak var markAllAsReadButton: UIBarButtonItem! - private var filterButton: UIBarButtonItem! + private var refreshProgressView: RefreshProgressView! + private var refreshProgressItemButton: UIBarButtonItem! private var firstUnreadButton: UIBarButtonItem! private lazy var dataSource = makeDataSource() @@ -91,8 +92,9 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner refreshControl = UIRefreshControl() refreshControl!.addTarget(self, action: #selector(refreshAccounts(_:)), for: .valueChanged) - - configureToolbar() + refreshProgressView = Bundle.main.loadNibNamed("RefreshProgressView", owner: self, options: nil)?[0] as? RefreshProgressView + refreshProgressItemButton = UIBarButtonItem(customView: refreshProgressView!) + resetUI(resetScroll: true) // Load the table and then scroll to the saved position if available @@ -608,20 +610,6 @@ extension MasterTimelineViewController: UISearchBarDelegate { private extension MasterTimelineViewController { - func configureToolbar() { - guard splitViewController?.isCollapsed ?? true else { - return - } - - guard let refreshProgressView = Bundle.main.loadNibNamed("RefreshProgressView", owner: self, options: nil)?[0] as? RefreshProgressView else { - return - } - - self.refreshProgressView = refreshProgressView - let refreshProgressItemButton = UIBarButtonItem(customView: refreshProgressView) - toolbarItems?.insert(refreshProgressItemButton, at: 2) - } - func resetUI(resetScroll: Bool) { title = coordinator.timelineFeed?.nameForDisplay ?? "Timeline" @@ -683,16 +671,9 @@ private extension MasterTimelineViewController { firstUnreadButton.isEnabled = coordinator.isTimelineUnreadAvailable if coordinator.isRootSplitCollapsed { - if let toolbarItems = toolbarItems, toolbarItems.last != firstUnreadButton { - var items = toolbarItems - items.append(firstUnreadButton) - setToolbarItems(items, animated: false) - } + setToolbarItems([markAllAsReadButton, .flexibleSpace(), refreshProgressItemButton, .flexibleSpace(), firstUnreadButton], animated: false) } else { - if let toolbarItems = toolbarItems, toolbarItems.last == firstUnreadButton { - let items = Array(toolbarItems[0..