make device name filter case insensitive
This commit is contained in:
parent
dd56f57205
commit
1ea57cedee
@ -140,7 +140,7 @@ void CodeCompletion::update()
|
||||
}
|
||||
blockText.remove(QRegExp(".*deviceId: \""));
|
||||
m_model->update(entries);
|
||||
m_proxy->setFilter(blockText);
|
||||
m_proxy->setFilter(blockText, false);
|
||||
emit hint();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -75,10 +75,11 @@ QString CompletionProxyModel::filter() const
|
||||
return m_filter;
|
||||
}
|
||||
|
||||
void CompletionProxyModel::setFilter(const QString &filter)
|
||||
void CompletionProxyModel::setFilter(const QString &filter, bool caseSensitive)
|
||||
{
|
||||
if (m_filter != filter) {
|
||||
if (m_filter != filter || m_filterCaseSensitive != caseSensitive) {
|
||||
m_filter = filter;
|
||||
m_filterCaseSensitive = caseSensitive;
|
||||
emit filterChanged();
|
||||
invalidateFilter();
|
||||
emit countChanged();
|
||||
@ -89,8 +90,14 @@ bool CompletionProxyModel::filterAcceptsRow(int source_row, const QModelIndex &)
|
||||
{
|
||||
if (!m_filter.isEmpty()) {
|
||||
CompletionModel::Entry entry = m_model->get(source_row);
|
||||
if (!entry.displayText.startsWith(m_filter) && !entry.text.startsWith(m_filter)) {
|
||||
return false;
|
||||
if (m_filterCaseSensitive) {
|
||||
if (!entry.displayText.startsWith(m_filter) && !entry.text.startsWith(m_filter)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!entry.displayText.toLower().startsWith(m_filter.toLower()) && !entry.text.toLower().startsWith(m_filter.toLower())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
@ -48,7 +48,7 @@ public:
|
||||
CompletionModel::Entry get(int index);
|
||||
|
||||
QString filter() const;
|
||||
void setFilter(const QString &filter);
|
||||
void setFilter(const QString &filter, bool caseSensitive = true);
|
||||
|
||||
protected:
|
||||
bool filterAcceptsRow(int source_row, const QModelIndex &/*source_parent*/) const override;
|
||||
@ -62,6 +62,7 @@ signals:
|
||||
private:
|
||||
CompletionModel *m_model = nullptr;
|
||||
QString m_filter;
|
||||
bool m_filterCaseSensitive = true;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user