diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-02-17 17:47:41 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2015-02-20 13:11:17 +0000 |
commit | 21e9893b4b04938e9341eedf2166f2dbf409a1dc (patch) | |
tree | a15c324bf0d1fcf254aa62c0138805398eab39b7 /src/plugins/cpptools/cppcompletionassist.h | |
parent | f3a2795c3bfc892695a46621e6bc97a2742d8766 (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.h | 10 |
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; |