forked from qt-creator/qt-creator
		
	CppTools: Hide "QPrivateSignal" on signal completion (Qt5)
See also http://woboq.com/blog/how-qt-signals-slots-work-part2-qt5.html Task-number: QTCREATORBUG-8540 Change-Id: Iccad837d7a0da982e7d7a1eda95ff1828cf1dce6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
This commit is contained in:
		| @@ -602,6 +602,24 @@ Function *asFunctionOrTemplateFunctionType(FullySpecifiedType ty) | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| bool isQPrivateSignal(const Symbol *symbol) | ||||
| { | ||||
|     if (!symbol) | ||||
|         return false; | ||||
|  | ||||
|     static Identifier qPrivateSignalIdentifier("QPrivateSignal", 14); | ||||
|  | ||||
|     if (FullySpecifiedType type = symbol->type()) { | ||||
|         if (NamedType *namedType = type->asNamedType()) { | ||||
|             if (const Name *name = namedType->name()) { | ||||
|                 if (name->isEqualTo(&qPrivateSignalIdentifier)) | ||||
|                     return true; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
|  | ||||
| } // Anonymous | ||||
|  | ||||
| // ---------------------------- | ||||
| @@ -1620,6 +1638,8 @@ bool CppCompletionAssistProcessor::completeQtMethod(const QList<CPlusPlus::Looku | ||||
|                     signature += QLatin1Char('('); | ||||
|                     for (unsigned i = 0; i < count; ++i) { | ||||
|                         Symbol *arg = fun->argumentAt(i); | ||||
|                         if (isQPrivateSignal(arg)) | ||||
|                             continue; | ||||
|                         if (i != 0) | ||||
|                             signature += QLatin1Char(','); | ||||
|                         signature += o.prettyType(arg->type()); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user