diff --git a/src/engine/termgenerator.h b/src/engine/termgenerator.h --- a/src/engine/termgenerator.h +++ b/src/engine/termgenerator.h @@ -21,6 +21,7 @@ #ifndef BALOO_TERMGENERATOR_H #define BALOO_TERMGENERATOR_H +#include #include #include "engine_export.h" #include "document.h" @@ -46,7 +47,7 @@ void setPosition(int position); int position() const; - static QStringList termList(const QString& text); + static QByteArrayList termList(const QString& text); // Trim all terms to this size const static int maxTermSize = 25; diff --git a/src/engine/termgenerator.cpp b/src/engine/termgenerator.cpp --- a/src/engine/termgenerator.cpp +++ b/src/engine/termgenerator.cpp @@ -22,7 +22,7 @@ #include "document.h" #include -#include +#include using namespace Baloo; @@ -37,15 +37,15 @@ indexText(text, QByteArray()); } -QStringList TermGenerator::termList(const QString& text_) +QByteArrayList TermGenerator::termList(const QString& text_) { QString text(text_); text.replace(QLatin1Char('_'), QLatin1Char(' ')); int start = 0; int end = 0; - QStringList list; + QByteArrayList list; QTextBoundaryFinder bf(QTextBoundaryFinder::Word, text); for (; bf.position() != -1; bf.toNextBoundary()) { if (bf.boundaryReasons() & QTextBoundaryFinder::StartOfItem) { @@ -72,7 +72,7 @@ str = cleanString.normalized(QString::NormalizationForm_KC); if (!str.isEmpty()) { - list << str; + list << str.toUtf8(); } } } @@ -82,11 +82,9 @@ void TermGenerator::indexText(const QString& text, const QByteArray& prefix) { - QStringList terms = termList(text); - for (const QString& term : terms) { - QByteArray arr = term.toUtf8(); - - QByteArray finalArr = prefix + arr; + const QByteArrayList terms = termList(text); + for (const QByteArray& term : terms) { + QByteArray finalArr = prefix + term; finalArr = finalArr.mid(0, maxTermSize); m_doc.addPositionTerm(finalArr, m_position); @@ -96,11 +94,9 @@ void TermGenerator::indexFileNameText(const QString& text, const QByteArray& prefix) { - QStringList terms = termList(text); - for (const QString& term : terms) { - QByteArray arr = term.toUtf8(); - - QByteArray finalArr = prefix + arr; + const QByteArrayList terms = termList(text); + for (const QByteArray& term : terms) { + QByteArray finalArr = prefix + term; finalArr = finalArr.mid(0, maxTermSize); m_doc.addFileNamePositionTerm(finalArr, m_position); @@ -115,17 +111,14 @@ void TermGenerator::indexXattrText(const QString& text, const QByteArray& prefix) { - QStringList terms = termList(text); - for (const QString& term : terms) { - QByteArray arr = term.toUtf8(); - - QByteArray finalArr = prefix + arr; + const QByteArrayList terms = termList(text); + for (const QByteArray& term : terms) { + QByteArray finalArr = prefix + term; finalArr = finalArr.mid(0, maxTermSize); m_doc.addXattrPositionTerm(finalArr, m_position); m_position++; } - } int TermGenerator::position() const diff --git a/src/lib/searchstore.cpp b/src/lib/searchstore.cpp --- a/src/lib/searchstore.cpp +++ b/src/lib/searchstore.cpp @@ -322,12 +322,12 @@ // We use the TermGenerator to normalize the words in the value and to // split it into other words. If we split the words, we then add them as a // phrase query. - QStringList terms = TermGenerator::termList(value); + const QByteArrayList terms = TermGenerator::termList(value); QVector queries; int position = 1; - for (const QString& term : terms) { - QByteArray arr = prefix + term.toUtf8(); + for (const QByteArray& term : terms) { + QByteArray arr = prefix + term; queries << EngineQuery(arr, position++); }