diff --git a/part/bookmarklist.cpp b/part/bookmarklist.cpp index eafe8a415..a106c6f0f 100644 --- a/part/bookmarklist.cpp +++ b/part/bookmarklist.cpp @@ -115,7 +115,7 @@ public: } }; -BookmarkList::BookmarkList(Okular::Document *document, QWidget *parent) +BookmarkList::BookmarkList(Okular::Document *document, QAction *addBookmarkAction, QWidget *parent) : QWidget(parent) , m_document(document) , m_currentDocumentItem(nullptr) @@ -162,6 +162,8 @@ BookmarkList::BookmarkList(Okular::Document *document, QWidget *parent) m_showBoomarkOnlyAction = bookmarkController->addAction(QIcon::fromTheme(QStringLiteral("bookmarks")), i18n("Current document only")); m_showBoomarkOnlyAction->setCheckable(true); connect(m_showBoomarkOnlyAction, &QAction::toggled, this, &BookmarkList::slotFilterBookmarks); + // insert a button to bookmark/un-bookmark the current page + bookmarkController->addAction(addBookmarkAction); connect(m_document->bookmarkManager(), &Okular::BookmarkManager::bookmarksChanged, this, &BookmarkList::slotBookmarksChanged); diff --git a/part/bookmarklist.h b/part/bookmarklist.h index 3759c2cbd..027cb7f64 100644 --- a/part/bookmarklist.h +++ b/part/bookmarklist.h @@ -29,7 +29,7 @@ class BookmarkList : public QWidget, public Okular::DocumentObserver Q_OBJECT public: - explicit BookmarkList(Okular::Document *document, QWidget *parent = nullptr); + explicit BookmarkList(Okular::Document *document, QAction *addBookmarkAction, QWidget *parent = nullptr); ~BookmarkList() override; // inherited from DocumentObserver diff --git a/part/part.cpp b/part/part.cpp index 57882ef04..f3d3bf46f 100644 --- a/part/part.cpp +++ b/part/part.cpp @@ -377,6 +377,8 @@ Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList &args) // sLabel->setBuddy( m_searchWidget ); // m_searchToolBar->setStretchableWidget( m_searchWidget ); + setupViewerActions(); + // [left toolbox optional item: Table of Contents] | [] m_toc = new TOC(nullptr, m_document); connect(m_toc.data(), &TOC::hasTOC, this, &Part::enableTOC); @@ -404,7 +406,7 @@ Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList &args) m_sidebar->addItem(m_reviewsWidget, QIcon::fromTheme(QStringLiteral("draw-freehand")), i18n("Annotations")); // [left toolbox: Bookmarks] | [] - m_bookmarkList = new BookmarkList(m_document, nullptr); + m_bookmarkList = new BookmarkList(m_document, m_addBookmark, nullptr); m_sidebar->addItem(m_bookmarkList, QIcon::fromTheme(QStringLiteral("bookmarks")), i18n("Bookmarks")); // [left toolbox optional item: Signature Panel] | [] @@ -536,8 +538,6 @@ Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList &args) connect(m_document->bookmarkManager(), &BookmarkManager::saved, this, &Part::slotRebuildBookmarkMenu); - setupViewerActions(); - if (m_embedMode != ViewerWidgetMode) { setupActions(); } else {