From 13ed1bd9c67c43a3e5a7072c004d66f6d6e978f6 Mon Sep 17 00:00:00 2001 From: Tobias Koenig Date: Tue, 5 Feb 2008 19:08:29 +0000 Subject: [PATCH] Backport of bugfix #157189 svn path=/branches/KDE/4.0/kdegraphics/okular/; revision=771341 --- core/bookmarkmanager.cpp | 1 + core/bookmarkmanager.h | 5 +++++ part.cpp | 7 +++++++ part.h | 1 + 4 files changed, 14 insertions(+) diff --git a/core/bookmarkmanager.cpp b/core/bookmarkmanager.cpp index 54fbb7158..c3327a9b6 100644 --- a/core/bookmarkmanager.cpp +++ b/core/bookmarkmanager.cpp @@ -150,6 +150,7 @@ KBookmark::List BookmarkManager::bookmarks( const KUrl& url ) const void BookmarkManager::save() const { d->manager->save( false ); + emit const_cast( this )->saved(); } static QHash::iterator find( QHash& files, const KUrl& url, KBookmarkManager * manager, bool doCreate ) diff --git a/core/bookmarkmanager.h b/core/bookmarkmanager.h index 6c4d67796..ada1d2132 100644 --- a/core/bookmarkmanager.h +++ b/core/bookmarkmanager.h @@ -92,6 +92,11 @@ class OKULAR_EXPORT BookmarkManager : public QObject */ void openUrl( const KUrl& url ); + /** + * This signal is emitted whenever bookmarks have been saved. + */ + void saved(); + private: class Private; Private * const d; diff --git a/part.cpp b/part.cpp index 54becdfdd..828ce8b06 100644 --- a/part.cpp +++ b/part.cpp @@ -282,6 +282,9 @@ m_cliPresentation(false), m_generatorGuiClient(0) m_document->addObserver( m_pageSizeLabel ); m_document->addObserver( bookmarkList ); + connect( m_document->bookmarkManager(), SIGNAL( saved() ), + this, SLOT( slotRebuildBookmarkMenu() ) ); + // ACTIONS KActionCollection * ac = actionCollection(); @@ -1033,6 +1036,10 @@ void Part::enableTOC(bool enable) m_sidebar->setItemEnabled(0, enable); } +void Part::slotRebuildBookmarkMenu() +{ + rebuildBookmarkMenu(); +} void Part::slotShowFindBar() { diff --git a/part.h b/part.h index 86604c06d..abb2063cd 100644 --- a/part.h +++ b/part.h @@ -153,6 +153,7 @@ class Part : public KParts::ReadOnlyPart, public Okular::DocumentObserver, publi void updateViewActions(); void updateBookmarksActions(); void enableTOC(bool enable); + void slotRebuildBookmarkMenu(); public slots: // connected to Shell action (and browserExtension), not local one