QmlDesigner: Improve heuristic to detect signal handlers

<item.onHeightChanged> is also a signal handler.
The old heuristic has to be applied to the last element after splitting
the string by ".".

Change-Id: Ied47bc6acbab32d782f6827cf849711aed600222
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Thomas Hartmann
2016-02-19 18:20:27 +01:00
parent 89d93c0154
commit a709bc3198

View File

@@ -156,9 +156,14 @@ static inline QString fixEscapedUnicodeChar(const QString &value) //convert "\u2
static inline bool isSignalPropertyName(const QString &signalName)
{
if (signalName.isEmpty())
return false;
// see QmlCompiler::isSignalPropertyName
return signalName.length() >= 3 && signalName.startsWith(QStringLiteral("on")) &&
signalName.at(2).isLetter();
QStringList list = signalName.split(QLatin1String("."));
QString pureSignalName = list.last();
return pureSignalName.length() >= 3 && pureSignalName.startsWith(QStringLiteral("on")) &&
pureSignalName.at(2).isLetter();
}
static inline QVariant cleverConvert(const QString &value)