From c7b606c89e7bedef69fc083bb0842347b57f2823 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Fri, 11 Nov 2022 20:26:48 -0600 Subject: [PATCH] Disable navigation for selectPrevUnread and selectNextUnread --- iOS/RootSplitViewController.swift | 5 +++++ iOS/SceneCoordinator.swift | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/iOS/RootSplitViewController.swift b/iOS/RootSplitViewController.swift index 302d101ec..7b8c9d0c0 100644 --- a/iOS/RootSplitViewController.swift +++ b/iOS/RootSplitViewController.swift @@ -25,6 +25,11 @@ class RootSplitViewController: UISplitViewController { coordinator.resetFocus() } + override func show(_ column: UISplitViewController.Column) { + guard !coordinator.isNavigationDisabled else { return } + super.show(column) + } + // MARK: Keyboard Shortcuts @objc func scrollOrGoToNextUnread(_ sender: Any?) { diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index d4bad3fbf..2bc9b6f42 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -118,6 +118,8 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { return activity } + var isNavigationDisabled = false + var isRootSplitCollapsed: Bool { return rootSplitViewController.isCollapsed } @@ -922,6 +924,11 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { return } + isNavigationDisabled = true + defer { + isNavigationDisabled = false + } + if selectPrevUnreadArticleInTimeline() { return } @@ -938,6 +945,11 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { return } + isNavigationDisabled = true + defer { + isNavigationDisabled = false + } + if selectNextUnreadArticleInTimeline() { return } @@ -949,7 +961,6 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { selectNextUnreadFeed() { self.selectNextUnreadArticleInTimeline() } - } func scrollOrGoToNextUnread() {