From a457124c5449dbf134c9916cc1caa563d208b5ec Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Thu, 23 Jun 2011 15:04:01 +0200 Subject: [PATCH] CodeAssist: Expand prefix only when it's a completion Quickfixes, for instance, should not be expanded. Change-Id: I832ea11c5a270ee290441aca0d2c7231d0ced013 Reviewed-on: http://codereview.qt.nokia.com/674 Reviewed-by: Qt Sanity Bot Reviewed-by: Christian Kamm --- src/plugins/texteditor/codeassist/codeassistant.cpp | 1 + .../texteditor/codeassist/functionhintproposalwidget.cpp | 9 +++++---- .../texteditor/codeassist/functionhintproposalwidget.h | 1 + .../texteditor/codeassist/genericproposalwidget.cpp | 7 +++++++ .../texteditor/codeassist/genericproposalwidget.h | 1 + .../texteditor/codeassist/iassistproposalwidget.h | 1 + 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 670088f2c5d..ad7e66591b8 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -315,6 +315,7 @@ void CodeAssistantPrivate::displayProposal(IAssistProposal *newProposal, AssistR this, SLOT(processProposalItem(IAssistProposalItem*))); m_proposalWidget->setAssistant(m_q); m_proposalWidget->setReason(reason); + m_proposalWidget->setKind(m_assistKind); m_proposalWidget->setUnderlyingWidget(m_textEditor->widget()); m_proposalWidget->setModel(m_proposal->model()); m_proposalWidget->setDisplayRect(m_textEditor->cursorRect(m_proposal->basePosition())); diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp index 5dcde3de40f..f355365b43f 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp @@ -132,10 +132,11 @@ void FunctionHintProposalWidget::setAssistant(CodeAssistant *assistant) m_d->m_assistant = assistant; } -void FunctionHintProposalWidget::setReason(AssistReason reason) -{ - Q_UNUSED(reason); -} +void FunctionHintProposalWidget::setReason(AssistReason) +{} + +void FunctionHintProposalWidget::setKind(AssistKind) +{} void FunctionHintProposalWidget::setUnderlyingWidget(const QWidget *underlyingWidget) { diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.h b/src/plugins/texteditor/codeassist/functionhintproposalwidget.h index bd60293d1bd..f3dc0611ac0 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.h +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.h @@ -51,6 +51,7 @@ public: virtual void setAssistant(CodeAssistant *assistant); virtual void setReason(AssistReason reason); + virtual void setKind(AssistKind kind); virtual void setUnderlyingWidget(const QWidget *underlyingWidget); virtual void setModel(IAssistProposalModel *model); virtual void setDisplayRect(const QRect &rect); diff --git a/src/plugins/texteditor/codeassist/genericproposalwidget.cpp b/src/plugins/texteditor/codeassist/genericproposalwidget.cpp index dd9f070a549..883e8897b42 100644 --- a/src/plugins/texteditor/codeassist/genericproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/genericproposalwidget.cpp @@ -241,6 +241,7 @@ public: bool m_isSynchronized; bool m_explicitlySelected; AssistReason m_reason; + AssistKind m_kind; bool m_justInvoked; QPointer m_infoFrame; QTimer m_infoTimer; @@ -349,6 +350,11 @@ void GenericProposalWidget::setReason(AssistReason reason) m_d->m_justInvoked = true; } +void GenericProposalWidget::setKind(AssistKind kind) +{ + m_d->m_kind = kind; +} + void GenericProposalWidget::setUnderlyingWidget(const QWidget *underlyingWidget) { setFont(underlyingWidget->font()); @@ -452,6 +458,7 @@ bool GenericProposalWidget::updateAndCheck(const QString &prefix) } if (TextEditorSettings::instance()->completionSettings().m_partiallyComplete + && m_d->m_kind == Completion && m_d->m_justInvoked && m_d->m_isSynchronized) { if (m_d->m_model->size() == 1) { diff --git a/src/plugins/texteditor/codeassist/genericproposalwidget.h b/src/plugins/texteditor/codeassist/genericproposalwidget.h index a765d413dc3..9246665a551 100644 --- a/src/plugins/texteditor/codeassist/genericproposalwidget.h +++ b/src/plugins/texteditor/codeassist/genericproposalwidget.h @@ -52,6 +52,7 @@ public: virtual void setAssistant(CodeAssistant *assistant); virtual void setReason(AssistReason reason); + virtual void setKind(AssistKind kind); virtual void setUnderlyingWidget(const QWidget *underlyingWidget); virtual void setModel(IAssistProposalModel *model); virtual void setDisplayRect(const QRect &rect); diff --git a/src/plugins/texteditor/codeassist/iassistproposalwidget.h b/src/plugins/texteditor/codeassist/iassistproposalwidget.h index 1a9d8663633..93f326ba3f0 100644 --- a/src/plugins/texteditor/codeassist/iassistproposalwidget.h +++ b/src/plugins/texteditor/codeassist/iassistproposalwidget.h @@ -55,6 +55,7 @@ public: virtual void setAssistant(CodeAssistant *assistant) = 0; virtual void setReason(AssistReason reason) = 0; + virtual void setKind(AssistKind kind) = 0; virtual void setUnderlyingWidget(const QWidget *underlyingWidget) = 0; virtual void setModel(IAssistProposalModel *model) = 0; virtual void setDisplayRect(const QRect &rect) = 0;