Use case folding instead of lower case for search

This commit is contained in:
Nicolas Werner 2023-05-19 22:06:04 +02:00
parent 5e1860ae0a
commit 5adf607906
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

@ -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);