summaryrefslogtreecommitdiff
path: root/src/bookmarks
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@nokia.com>2010-08-24 13:06:02 +0200
committerPierre Rossi <pierre.rossi@nokia.com>2010-08-25 11:02:57 +0200
commit8021b32b5288de901ec2c1defb3712211598925a (patch)
treed7810d9e3c205b5ae8520d07bce6507112e4ef57 /src/bookmarks
parentSVN_SILENT made messages (.desktop file) (diff)
downloadrekonq-8021b32b5288de901ec2c1defb3712211598925a.tar.xz
Awesome bar: support for multiple word search.
Also support searches starting by i (without messing with the <i> for urls) and page titles with characters such as '<' or '>'.
Diffstat (limited to 'src/bookmarks')
-rw-r--r--src/bookmarks/bookmarkprovider.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp
index f07c5164..ec02ed31 100644
--- a/src/bookmarks/bookmarkprovider.cpp
+++ b/src/bookmarks/bookmarkprovider.cpp
@@ -253,9 +253,21 @@ void BookmarkProvider::find(QList<KBookmark> *list, const KBookmark &bookmark, c
for (KBookmark bm = group.first(); !bm.isNull(); bm = group.next(bm))
find(list, bm, text);
}
- else if (bookmark.url().url().contains(text) || bookmark.fullText().contains(text))
+ else
{
- *list << bookmark;
+ QStringList words = text.split(" ");
+ bool matches = true;
+ foreach (const QString &word, words)
+ {
+ if (!bookmark.url().url().contains(word, Qt::CaseInsensitive)
+ && !bookmark.fullText().contains(word, Qt::CaseInsensitive))
+ {
+ matches = false;
+ break;
+ }
+ }
+ if (matches)
+ *list << bookmark;
}
}