From 1ed00f9949c9507768db0973c61b9648a8a58575 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Wed, 28 Jul 2010 00:16:59 +0200 Subject: Manually importing Yoann merge 2260 PLease, check if I did something wrong.. --- src/bookmarks/bookmarksmanager.cpp | 38 ++++++++++++++++++++++++++++++++++++++ src/bookmarks/bookmarksmanager.h | 5 +++++ 2 files changed, 43 insertions(+) (limited to 'src/bookmarks') diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp index d9612607..bba9dd77 100644 --- a/src/bookmarks/bookmarksmanager.cpp +++ b/src/bookmarks/bookmarksmanager.cpp @@ -593,3 +593,41 @@ void BookmarkProvider::slotPanelChanged() panel->startLoadFoldedState(); } } + + +KBookmark BookmarkProvider::bookmarkForUrl(const KUrl &url) +{ + KBookmark found; + + KBookmarkGroup root = rootGroup(); + if (root.isNull()) + { + return found; + } + + return bookmarkForUrl(root, url); +} + + +KBookmark BookmarkProvider::bookmarkForUrl(const KBookmark &bookmark, const KUrl &url) +{ + KBookmark found; + + if (bookmark.isGroup()) + { + KBookmarkGroup group = bookmark.toGroup(); + KBookmark bookmark = group.first(); + + while (!bookmark.isNull() && found.isNull()) + { + found = bookmarkForUrl(bookmark, url); + bookmark = group.next(bookmark); + } + } + else if (!bookmark.isSeparator() && bookmark.url() == url) + { + found = bookmark; + } + + return found; +} diff --git a/src/bookmarks/bookmarksmanager.h b/src/bookmarks/bookmarksmanager.h index 72ea1c3c..eeb5391d 100644 --- a/src/bookmarks/bookmarksmanager.h +++ b/src/bookmarks/bookmarksmanager.h @@ -271,6 +271,8 @@ public: void registerBookmarkPanel(BookmarksPanel *panel); void removeBookmarkPanel(BookmarksPanel *panel); + KBookmark bookmarkForUrl(const KUrl &url); + signals: /** * @short This signal is emitted when an url has to be loaded @@ -305,6 +307,9 @@ private slots: private: QList find(QList list, const KBookmark &bookmark, QString text); + QString titleForBookmarkUrl(const KBookmark &bookmark, const QString &url); + KBookmark bookmarkForUrl(const KBookmark &bookmark, const KUrl &url); + KBookmarkManager *m_manager; BookmarkOwner *m_owner; KActionCollection *m_actionCollection; -- cgit v1.2.1