From 98fc1dc5406c3d4f191f899154eda1b0fa144d1a Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Sun, 22 Mar 2009 12:09:30 +0100 Subject: update toolbar when bookmarks change. Yeah.. --- data/defaultbookmarks.xbel | 39 ++++++++++++++++++--------------------- src/bookmarks.cpp | 28 ++++++++++++++++++++++++++++ src/bookmarks.h | 1 + 3 files changed, 47 insertions(+), 21 deletions(-) diff --git a/data/defaultbookmarks.xbel b/data/defaultbookmarks.xbel index 4cad6c78..b4919c5c 100644 --- a/data/defaultbookmarks.xbel +++ b/data/defaultbookmarks.xbel @@ -1,25 +1,22 @@ - - Default Bookmark - - QtSoftware - - - WebKit.org - - - rekonq site - - - Trolltech Labs - - - KDE-Apps.org - - - KDE site - - + + QtSoftware + + + WebKit.org + + + rekonq site + + + Trolltech Labs + + + KDE-Apps.org + + + KDE site + diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 9b48de6f..bb2fb162 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -112,6 +112,34 @@ BookmarksProvider::BookmarksProvider(KMainWindow* parent) } m_manager = KBookmarkManager::managerForExternalFile( bookfile.path() ); m_ac = new KActionCollection( this ); + + connect( m_manager, SIGNAL( changed(const QString &, const QString &) ), this, SLOT( slotBookmarksChanged(const QString &) ) ); +} + + +void BookmarksProvider::slotBookmarksChanged(const QString & group) +{ + KBookmarkGroup toolbarGroup = m_manager->toolbar(); +// KBookmarkGroup tb = getToolbar(); // heavy for non cached toolbar version + kWarning() << "KBookmarkBar::slotBookmarksChanged( " << group << " )"; + + if ( toolbarGroup.isNull() ) + return; + +/* if ( KBookmark::commonParent(group, tb.address()) == group) // Is group a parent of tb.address? + { + */m_bmToolbar->clear(); + provideBmToolbar(m_bmToolbar); +// } +// else +// { +// // Iterate recursively into child menus +// for ( QList::ConstIterator smit = m_lstSubMenus.constBegin(), smend = m_lstSubMenus.constEnd(); +// smit != smend; ++smit ) +// { +// (*smit)->slotBookmarksChanged( group ); +// } +// } } diff --git a/src/bookmarks.h b/src/bookmarks.h index d6e74baa..9ef82624 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -169,6 +169,7 @@ public: public slots: void contextMenu(const QPoint & point); + void slotBookmarksChanged(const QString &); private: KMainWindow *m_parent; -- cgit v1.2.1