aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cpptools/cppcompletionassist.h
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-02-17 17:47:41 +0100
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-02-20 13:11:17 +0000
commit21e9893b4b04938e9341eedf2166f2dbf409a1dc (patch)
treea15c324bf0d1fcf254aa62c0138805398eab39b7 /src/plugins/cpptools/cppcompletionassist.h
parentf3a2795c3bfc892695a46621e6bc97a2742d8766 (diff)
CppTools: Fix completing qt5 style signals/slots in connect()
* Fix qualifying the member function, take namespace into account * Fallback to usual completion if we cannot provide anything * Ensure that the completion is not triggered outside connect() calls * Change to a two step process: 1. connect(obj, & // offer class name completion 2. connect(obj, &N::Foo:: // offer signal completions ...same for the 4th. argument. Change-Id: Ifa4c74cde1b96ec7c544daaeefc47c4efdd8294a Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppcompletionassist.h')
-rw-r--r--src/plugins/cpptools/cppcompletionassist.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppcompletionassist.h b/src/plugins/cpptools/cppcompletionassist.h
index 8a31f9387d..0b009e07ea 100644
--- a/src/plugins/cpptools/cppcompletionassist.h
+++ b/src/plugins/cpptools/cppcompletionassist.h
@@ -139,7 +139,9 @@ private:
CompleteQt5Slots,
};
bool completeQtMethod(const QList<CPlusPlus::LookupItem> &results, CompleteQtMethodMode type);
- void globalCompletion(CPlusPlus::Scope *scope);
+ bool completeQtMethodClassName(const QList<CPlusPlus::LookupItem> &results,
+ CPlusPlus::Scope *cursorScope);
+ bool globalCompletion(CPlusPlus::Scope *scope);
void addCompletionItem(const QString &text,
const QIcon &icon = QIcon(),
@@ -155,9 +157,11 @@ private:
QSet<QString> *definedMacros);
enum {
- CompleteQt5SignalTrigger = CPlusPlus::T_LAST_TOKEN + 1,
- CompleteQtSlotTrigger
+ CompleteQt5SignalOrSlotClassNameTrigger = CPlusPlus::T_LAST_TOKEN + 1,
+ CompleteQt5SignalTrigger,
+ CompleteQt5SlotTrigger
};
+
CPlusPlus::LanguageFeatures m_languageFeatures;
QScopedPointer<const CppCompletionAssistInterface> m_interface;
QScopedPointer<CppAssistProposalModel> m_model;