From 29222348be2aea93de9d9fc937996d0b7474308d Mon Sep 17 00:00:00 2001 From: megabigbug Date: Wed, 21 Jul 2010 17:13:17 +0200 Subject: reintroduce bookmark suggestions --- src/bookmarks/bookmarksmanager.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'src/bookmarks/bookmarksmanager.cpp') diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp index b5c90616..d0062ae1 100644 --- a/src/bookmarks/bookmarksmanager.cpp +++ b/src/bookmarks/bookmarksmanager.cpp @@ -418,45 +418,44 @@ KBookmarkGroup BookmarkProvider::rootGroup() } -QString BookmarkProvider::titleForBookmarkUrl(QString url) +QList BookmarkProvider::find(QString text) { - QString title = ""; + QList list; KBookmarkGroup bookGroup = Application::bookmarkProvider()->rootGroup(); if (bookGroup.isNull()) { - return title; + return list; } - KBookmark bookmark = bookGroup.first(); - while (!bookmark.isNull() && title.isEmpty()) + KBookmark bookmark = bookGroup.first(); + while (!bookmark.isNull()) { - title = titleForBookmarkUrl(bookmark, url); + list = find(list, bookmark, text); bookmark = bookGroup.next(bookmark); } - return title; + return list; } -QString BookmarkProvider::titleForBookmarkUrl(const KBookmark &bookmark, QString url) +QList BookmarkProvider::find(QList list, const KBookmark &bookmark, QString text) { - QString title = ""; if (bookmark.isGroup()) { KBookmarkGroup group = bookmark.toGroup(); KBookmark bm = group.first(); - while (!bm.isNull() && title.isEmpty()) + while (!bm.isNull()) { - title = titleForBookmarkUrl(bm, url); // it is .bookfolder + list = find(list, bm, text); // it is .bookfolder bm = group.next(bm); } } - else if (!bookmark.isSeparator() && bookmark.url() == url) + else if (bookmark.url().url().contains(text) || bookmark.fullText().contains(text)) { - title = bookmark.fullText(); + list << bookmark; } - return title; + return list; } -- cgit v1.2.1