summaryrefslogtreecommitdiffstats
path: root/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch')
-rw-r--r--kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch65
1 files changed, 0 insertions, 65 deletions
diff --git a/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch b/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch
deleted file mode 100644
index 819a429..0000000
--- a/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/nepomuk/query/querybuilderdata_p.h b/nepomuk/query/querybuilderdata_p.h
-index 055482e..3880e13 100644
---- a/nepomuk/query/querybuilderdata_p.h
-+++ b/nepomuk/query/querybuilderdata_p.h
-@@ -32,6 +32,28 @@
- #include "query_p.h"
- #include "groupterm_p.h"
-
-+namespace {
-+/// A hack to avoid passing extended chars to the bif:search_excerpts method which cannot handle
-+/// utf8 chars which use more than one char, ie. wide chars.
-+/// Thus, we simply truncate each term at the first wide char.
-+QStringList stripExtendedCharsHack(const QStringList& terms) {
-+ QStringList newTerms;
-+ foreach(const QString& term, terms) {
-+ int i = 0;
-+ while(i < term.length()) {
-+ if(term[i].unicode() > 0x7f) {
-+ break;
-+ }
-+ ++i;
-+ }
-+ if(i > 0) {
-+ newTerms.append(term.left(i));
-+ }
-+ }
-+ return newTerms;
-+}
-+}
-+
- namespace Nepomuk {
- namespace Query {
- class QueryBuilderData
-@@ -246,16 +268,23 @@ namespace Nepomuk {
- for( QHash<QString, QStringList>::const_iterator it = m_fullTextSearchTerms.constBegin();
- it != m_fullTextSearchTerms.constEnd(); ++it ) {
- const QString& varName = it.key();
-- const QStringList& terms = it.value();
-- // bif:search_excerpt wants a vector of all search terms
-- excerptParts
-- << QString::fromLatin1("bif:search_excerpt(bif:vector(bif:charset_recode('%1', '_WIDE_', 'UTF-8')), %2)")
-- .arg( terms.join(QLatin1String("','")),
-- varName );
-+ const QStringList terms = stripExtendedCharsHack(it.value());
-+ if(terms.count()) {
-+ // bif:search_excerpt wants a vector of all search terms
-+ excerptParts
-+ << QString::fromLatin1("bif:search_excerpt(bif:vector('%1'), %2)")
-+ .arg( terms.join(QLatin1String("','")),
-+ varName );
-+ }
- }
-
-- return QString::fromLatin1("(bif:concat(%1)) as ?_n_f_t_m_ex_")
-- .arg(excerptParts.join(QLatin1String(",")));
-+ if(excerptParts.count()) {
-+ return QString::fromLatin1("(bif:concat(%1)) as ?_n_f_t_m_ex_")
-+ .arg(excerptParts.join(QLatin1String(",")));
-+ }
-+ else {
-+ return QString();
-+ }
- }
- else {
- return QString();