Use case folding instead of lower case for search

emojigrid
Nicolas Werner 2 years ago
parent 777bf9f9f6
commit ab5f176de0
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 6
      src/CompletionProxyModel.cpp

@ -45,7 +45,7 @@ CompletionProxyModel::CompletionProxyModel(QAbstractItemModel *model,
auto string1 = sourceModel() auto string1 = sourceModel()
->data(sourceModel()->index(i, 0), CompletionModel::SearchRole) ->data(sourceModel()->index(i, 0), CompletionModel::SearchRole)
.toString() .toString()
.toLower(); .toCaseFolded();
if (!string1.isEmpty()) { if (!string1.isEmpty()) {
trie_.insert<ElementRank::first>(string1.toUcs4(), i); trie_.insert<ElementRank::first>(string1.toUcs4(), i);
insertParts(string1, i); insertParts(string1, i);
@ -54,7 +54,7 @@ CompletionProxyModel::CompletionProxyModel(QAbstractItemModel *model,
auto string2 = sourceModel() auto string2 = sourceModel()
->data(sourceModel()->index(i, 0), CompletionModel::SearchRole2) ->data(sourceModel()->index(i, 0), CompletionModel::SearchRole2)
.toString() .toString()
.toLower(); .toCaseFolded();
if (!string2.isEmpty()) { if (!string2.isEmpty()) {
trie_.insert<ElementRank::first>(string2.toUcs4(), i); trie_.insert<ElementRank::first>(string2.toUcs4(), i);
insertParts(string2, i); insertParts(string2, i);
@ -74,7 +74,7 @@ CompletionProxyModel::CompletionProxyModel(QAbstractItemModel *model,
&CompletionProxyModel::newSearchString, &CompletionProxyModel::newSearchString,
this, this,
[this](const QString &s) { [this](const QString &s) {
searchString_ = s.toLower(); searchString_ = s.toCaseFolded();
invalidate(); invalidate();
}, },
Qt::QueuedConnection); Qt::QueuedConnection);

Loading…
Cancel
Save