diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 6f52196afb4a288e4a57c95bc9638350aa378d3f..049496c217e59bdd3bd93520ec480e0c52fc4f2f 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -74,6 +74,23 @@ public: processor->process(prop.name(), propertyValue(prop)); } + + for (int index = 0; index < _metaObject->methodCount(); ++index) { + QMetaMethod meth = _metaObject->method(index); + const QString signature = QString::fromUtf8(meth.signature()); + + int indexOfParen = signature.indexOf(QLatin1Char('(')); + if (indexOfParen == -1) + continue; // skip it, invalid signature. + + const QString signalName = signature.left(indexOfParen); + QString slotName; + slotName += QLatin1String("on"); + slotName += signalName.at(0).toUpper(); + slotName += signalName.midRef(1); + processor->process(slotName, engine()->undefinedValue()); // ### FIXME: assign a decent type to the property + } + } const Value *propertyValue(const QMetaProperty &prop) const {