Match on each word in the completer

pull/335/head
Nicolas Werner 4 years ago
parent 90ce4f23ab
commit 9c8850a46c
  1. 13
      src/CompletionProxyModel.h

@ -3,6 +3,7 @@
// Class for showing a limited amount of completions at a time
#include <QAbstractProxyModel>
#include <QRegularExpression>
#include "CompletionModelRoles.h"
#include "Logging.h"
@ -136,6 +137,7 @@ public:
: QAbstractProxyModel(parent)
{
setSourceModel(model);
QRegularExpression splitPoints("\\s+|-");
for (int i = 0; i < sourceModel()->rowCount(); i++) {
if (i < 7)
@ -148,14 +150,23 @@ public:
.toLower();
trie_.insert(string1.toUcs4(), i);
for (const auto &e : string1.split(splitPoints, Qt::SkipEmptyParts)) {
trie_.insert(e.toUcs4(), i);
}
auto string2 =
sourceModel()
->data(sourceModel()->index(i, 0), CompletionModel::SearchRole2)
.toString()
.toLower();
if (!string2.isEmpty())
if (!string2.isEmpty()) {
trie_.insert(string2.toUcs4(), i);
for (const auto &e :
string2.split(splitPoints, Qt::SkipEmptyParts)) {
trie_.insert(e.toUcs4(), i);
}
}
}
connect(

Loading…
Cancel
Save