From f0c32d79ba24586820f3c00216b5010d352013da Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Wed, 22 Jun 2011 16:26:35 +0200 Subject: [PATCH] QmlJS: Don't try to complete slots in lhs of binding. Task-number: QTCREATORBUG-3459 Change-Id: I694391bf7ccddcaa539ec4ed2b744e875cc43f38 Reviewed-on: http://codereview.qt.nokia.com/626 Reviewed-by: Fawzi Mohamed --- src/plugins/qmljseditor/qmljscompletionassist.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmljseditor/qmljscompletionassist.cpp b/src/plugins/qmljseditor/qmljscompletionassist.cpp index 46f5e32151e..2e09bfc4d6c 100644 --- a/src/plugins/qmljseditor/qmljscompletionassist.cpp +++ b/src/plugins/qmljseditor/qmljscompletionassist.cpp @@ -84,6 +84,7 @@ class EnumerateProperties: private Interpreter::MemberProcessor QHash _properties; bool _globalCompletion; bool _enumerateGeneratedSlots; + bool _enumerateSlots; const Interpreter::Context *_context; const Interpreter::ObjectValue *_currentObject; @@ -91,6 +92,7 @@ public: EnumerateProperties(const Interpreter::Context *context) : _globalCompletion(false), _enumerateGeneratedSlots(false), + _enumerateSlots(true), _context(context), _currentObject(0) { @@ -106,6 +108,11 @@ public: _enumerateGeneratedSlots = enumerate; } + void setEnumerateSlots(bool enumerate) + { + _enumerateSlots = enumerate; + } + QHash operator ()(const Interpreter::Value *value) { _processed.clear(); @@ -155,7 +162,8 @@ private: virtual bool processSlot(const QString &name, const Interpreter::Value *value) { - insertProperty(name, value); + if (_enumerateSlots) + insertProperty(name, value); return true; } @@ -494,6 +502,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const IAssistInterface EnumerateProperties enumerateProperties(context); enumerateProperties.setGlobalCompletion(true); enumerateProperties.setEnumerateGeneratedSlots(true); + enumerateProperties.setEnumerateSlots(false); // id: is special BasicProposalItem *idProposalItem = new QmlJSAssistProposalItem;