From bd880dcafebdc168b8acf790c63ff3c5508ab340 Mon Sep 17 00:00:00 2001 From: Mattias Andersson Date: Mon, 13 Jan 2014 22:15:07 +0100 Subject: [PATCH] Tweak the replacement of colons. Make sure that there are no trailing whitspaces on tokens before appending "* ". --- src/library/libraryquery.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/library/libraryquery.cpp b/src/library/libraryquery.cpp index 5db6cbd0d..aa20202b0 100644 --- a/src/library/libraryquery.cpp +++ b/src/library/libraryquery.cpp @@ -39,9 +39,11 @@ LibraryQuery::LibraryQuery(const QueryOptions& options) // expected with sqlite's FTS3: // 1) Append * to all tokens. // 2) Prefix "fts" to column names. + // 3) Remove colons which don't correspond to column names. // Split on whitespace - QStringList tokens(options.filter().split(QRegExp("\\s+"))); + QStringList tokens(options.filter().split( + QRegExp("\\s+"), QString::SkipEmptyParts)); QString query; foreach (QString token, tokens) { token.remove('('); @@ -57,9 +59,11 @@ LibraryQuery::LibraryQuery(const QueryOptions& options) ':', 0, 0, QString::SectionIncludeTrailingSep); QString subtoken = token.section(':', 1, -1); subtoken.replace(":", " "); + subtoken = subtoken.trimmed(); query += "fts" + columntoken + subtoken + "* "; } else { - token.replace(':', 1, ' '); + token.replace(":", " "); + token = token.trimmed(); query += token + "* "; } } else {