diff options
author | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-03-19 11:41:40 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-03-20 13:45:02 +0100 |
commit | 1e59df6fb0de7414f6bc473012e1d18cab16317a (patch) | |
tree | 07ae04f91da4264c8fd16ef7867c1f75572cd44c | |
parent | 777b5c08ec7b4667113ee887902748eb81b034cd (diff) | |
download | qt-creator-1e59df6fb0de7414f6bc473012e1d18cab16317a.tar.gz |
TextEditor: Simplify testing of code assistant
Change-Id: I6f16dd775a7c5d8eaa4944d6050bf979be83a303
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
-rw-r--r-- | src/plugins/texteditor/basetexteditor.cpp | 7 | ||||
-rw-r--r-- | src/plugins/texteditor/basetexteditor.h | 4 | ||||
-rw-r--r-- | src/plugins/texteditor/codeassist/codeassistant.cpp | 8 | ||||
-rw-r--r-- | src/plugins/texteditor/codeassist/codeassistant.h | 9 |
4 files changed, 26 insertions, 2 deletions
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index b01aee9122..24486e803b 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -249,6 +249,8 @@ BaseTextEditorWidget::BaseTextEditorWidget(QWidget *parent) d->visibleFoldedBlockNumber = d->suggestedVisibleFoldedBlockNumber = -1; + connect(d->m_codeAssistant.data(), SIGNAL(finished()), this, SIGNAL(assistFinished())); + connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(slotUpdateExtraAreaWidth())); connect(this, SIGNAL(modificationChanged(bool)), this, SLOT(slotModificationChanged(bool))); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(slotCursorPositionChanged())); @@ -1090,6 +1092,11 @@ void BaseTextEditorWidget::openLinkUnderCursorInNextSplit() openLink(symbolLink, !alwaysOpenLinksInNextSplit()); } +void BaseTextEditorWidget::abortAssist() +{ + d->m_codeAssistant->destroyContext(); +} + void BaseTextEditorWidget::moveLineUpDown(bool up) { QTextCursor cursor = textCursor(); diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 0fb1171757..730eb7b276 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -332,8 +332,12 @@ public slots: void openLinkUnderCursor(); void openLinkUnderCursorInNextSplit(); + /// Abort code assistant if it is running. + void abortAssist(); + signals: void changed(); + void assistFinished(); // ITextEditor void contentsChanged(); diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 878d838e28..ca2003a600 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -101,6 +101,9 @@ public: virtual bool eventFilter(QObject *o, QEvent *e); +signals: + void finished(); + private slots: void finalizeRequest(); void proposalComputed(); @@ -251,6 +254,7 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason, m_requestRunner = new ProcessorRunner; connect(m_requestRunner, SIGNAL(finished()), this, SLOT(proposalComputed())); connect(m_requestRunner, SIGNAL(finished()), this, SLOT(finalizeRequest())); + connect(m_requestRunner, SIGNAL(finished()), this, SIGNAL(finished())); assistInterface->prepareForAsyncUse(); m_requestRunner->setReason(reason); m_requestRunner->setProcessor(processor); @@ -487,7 +491,9 @@ bool CodeAssistantPrivate::eventFilter(QObject *o, QEvent *e) // CodeAssistant // ------------- CodeAssistant::CodeAssistant() : d(new CodeAssistantPrivate(this)) -{} +{ + connect(d, SIGNAL(finished()), SIGNAL(finished())); +} CodeAssistant::~CodeAssistant() { diff --git a/src/plugins/texteditor/codeassist/codeassistant.h b/src/plugins/texteditor/codeassist/codeassistant.h index b030751390..5041ff9cfb 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.h +++ b/src/plugins/texteditor/codeassist/codeassistant.h @@ -34,14 +34,18 @@ #include <texteditor/texteditor_global.h> +#include <QObject> + namespace TextEditor { class CodeAssistantPrivate; class IAssistProvider; class BaseTextEditor; -class CodeAssistant +class CodeAssistant : public QObject { + Q_OBJECT + public: CodeAssistant(); ~CodeAssistant(); @@ -55,6 +59,9 @@ public: void invoke(AssistKind assistKind, IAssistProvider *provider = 0); +signals: + void finished(); + private: CodeAssistantPrivate *d; }; |