Skip to content

Commit

Permalink
Remove forward button from intra-pdf navigation (#854)
Browse files Browse the repository at this point in the history
  • Loading branch information
michalrentka authored Feb 22, 2024
1 parent 2344d3f commit 8c8c159
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ import UIKit

final class IntraDocumentNavigationButtonsHandler {
private weak var backButton: UIButton!
private weak var forwardButton: UIButton!

init(parent: UIViewController, back: @escaping () -> Void, forward: @escaping () -> Void) {
init(parent: UIViewController, back: @escaping () -> Void) {
var backConfiguration = UIButton.Configuration.plain()
backConfiguration.title = L10n.back
backConfiguration.image = UIImage(systemName: "chevron.left", withConfiguration: UIImage.SymbolConfiguration(scale: .small))
Expand All @@ -29,33 +28,13 @@ final class IntraDocumentNavigationButtonsHandler {
parent.view.addSubview(backButton)
self.backButton = backButton

var forwardConfiguration = UIButton.Configuration.plain()
forwardConfiguration.title = L10n.forward
forwardConfiguration.image = UIImage(systemName: "chevron.right", withConfiguration: UIImage.SymbolConfiguration(scale: .small))
forwardConfiguration.baseForegroundColor = Asset.Colors.zoteroBlueWithDarkMode.color
forwardConfiguration.background.backgroundColor = Asset.Colors.navbarBackground.color
forwardConfiguration.imagePadding = 8
forwardConfiguration.imagePlacement = .trailing
let forwardButton = UIButton(configuration: forwardConfiguration)
forwardButton.translatesAutoresizingMaskIntoConstraints = false
forwardButton.isHidden = true
forwardButton.addAction(
UIAction(handler: { _ in forward() }),
for: .touchUpInside
)
parent.view.addSubview(forwardButton)
self.forwardButton = forwardButton

NSLayoutConstraint.activate([
backButton.leadingAnchor.constraint(equalTo: parent.view.leadingAnchor, constant: 30),
parent.view.bottomAnchor.constraint(equalTo: backButton.bottomAnchor, constant: 80),
parent.view.trailingAnchor.constraint(equalTo: forwardButton.trailingAnchor, constant: 30),
parent.view.bottomAnchor.constraint(equalTo: forwardButton.bottomAnchor, constant: 80)
parent.view.bottomAnchor.constraint(equalTo: backButton.bottomAnchor, constant: 80)
])
}

func set(backButtonVisible: Bool, forwardButtonVisible: Bool) {
func set(backButtonVisible: Bool) {
backButton.isHidden = !backButtonVisible
forwardButton.isHidden = !forwardButtonVisible
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ protocol PDFDocumentDelegate: AnyObject {
func didChange(undoState undoEnabled: Bool, redoState redoEnabled: Bool)
func interfaceVisibilityDidChange(to isHidden: Bool)
func showToolOptions()
func backForwardButtonsChanged(backButtonVisible: Bool, forwardButtonVisible: Bool)
func backNavigationButtonChanged(visible: Bool)
}

final class PDFDocumentViewController: UIViewController {
Expand Down Expand Up @@ -782,7 +782,7 @@ extension PDFDocumentViewController: BackForwardActionListDelegate {

func backForwardListDidUpdate(_ list: BackForwardActionList) {
pdfController?.backForwardListDidUpdate(list)
parentDelegate?.backForwardButtonsChanged(backButtonVisible: list.backAction != nil, forwardButtonVisible: list.forwardAction != nil)
parentDelegate?.backNavigationButtonChanged(visible: list.backAction != nil)
}
}

Expand Down
7 changes: 2 additions & 5 deletions Zotero/Scenes/Detail/PDF/Views/PDFReaderViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,6 @@ class PDFReaderViewController: UIViewController {
parent: self,
back: { [weak self] in
self?.documentController.performBackAction()
},
forward: { [weak self] in
self?.documentController.performForwardAction()
}
)
setupNavigationBar()
Expand Down Expand Up @@ -820,8 +817,8 @@ extension PDFReaderViewController: PDFDocumentDelegate {
}
}

func backForwardButtonsChanged(backButtonVisible: Bool, forwardButtonVisible: Bool) {
intraDocumentNavigationHandler.set(backButtonVisible: backButtonVisible, forwardButtonVisible: forwardButtonVisible)
func backNavigationButtonChanged(visible: Bool) {
intraDocumentNavigationHandler.set(backButtonVisible: visible)
}
}

Expand Down

0 comments on commit 8c8c159

Please sign in to comment.