aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/codeassist
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2022-11-30 12:28:06 +0100
committerDavid Schulz <david.schulz@qt.io>2022-12-08 06:16:33 +0000
commit69ce2a40477a912e16dd57bfaab34b850421bbbb (patch)
tree753d4f82b77db8a5ddffb6aed7c58d80d519247c /src/plugins/texteditor/codeassist
parent0313470db0d5333ea5eda2da81e15c682f3ab981 (diff)
Editor: ensure something is selected after model update
Change-Id: I3fbf14cb7aa60caef43340302e74e80ed5e3ba4c Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/texteditor/codeassist')
-rw-r--r--src/plugins/texteditor/codeassist/genericproposalwidget.cpp15
-rw-r--r--src/plugins/texteditor/codeassist/genericproposalwidget.h2
2 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/texteditor/codeassist/genericproposalwidget.cpp b/src/plugins/texteditor/codeassist/genericproposalwidget.cpp
index 9eb3fdcd37..bc00126dba 100644
--- a/src/plugins/texteditor/codeassist/genericproposalwidget.cpp
+++ b/src/plugins/texteditor/codeassist/genericproposalwidget.cpp
@@ -392,7 +392,7 @@ void GenericProposalWidget::setIsSynchronized(bool isSync)
d->m_isSynchronized = isSync;
}
-void GenericProposalWidget::updateModel(ProposalModelPtr model)
+void GenericProposalWidget::updateModel(ProposalModelPtr model, const QString &prefix)
{
QString currentText;
if (d->m_explicitlySelected)
@@ -403,16 +403,15 @@ void GenericProposalWidget::updateModel(ProposalModelPtr model)
d->m_completionListView->setModel(new ModelAdapter(d->m_model, d->m_completionListView));
connect(d->m_completionListView->selectionModel(), &QItemSelectionModel::currentChanged,
&d->m_infoTimer, QOverload<>::of(&QTimer::start));
- int currentRow = -1;
if (!currentText.isEmpty()) {
- currentRow = d->m_model->indexOf(
+ const int currentRow = d->m_model->indexOf(
Utils::equal(&AssistProposalItemInterface::text, currentText));
+ if (currentRow < 0)
+ d->m_explicitlySelected = false;
+ else
+ d->m_completionListView->selectRow(currentRow);
}
- if (currentRow >= 0)
- d->m_completionListView->selectRow(currentRow);
- else
- d->m_explicitlySelected = false;
- updatePositionAndSize();
+ updateAndCheck(prefix);
}
void GenericProposalWidget::showProposal(const QString &prefix)
diff --git a/src/plugins/texteditor/codeassist/genericproposalwidget.h b/src/plugins/texteditor/codeassist/genericproposalwidget.h
index c38ccc9f47..6052677662 100644
--- a/src/plugins/texteditor/codeassist/genericproposalwidget.h
+++ b/src/plugins/texteditor/codeassist/genericproposalwidget.h
@@ -31,7 +31,7 @@ public:
void setDisplayRect(const QRect &rect) override;
void setIsSynchronized(bool isSync) override;
- void updateModel(ProposalModelPtr model);
+ void updateModel(ProposalModelPtr model, const QString &prefix);
void showProposal(const QString &prefix) override;
void filterProposal(const QString &prefix) override;