From 2221257306ba1df1c1fdeef48f25158fa4b76464 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 8 Jul 2015 14:35:09 +0200 Subject: [PATCH] QmlDesigner: Add list of known global enum scopes We know that TextInput and TextEdit are enum scopes. Currently there is no other way (than hardcoding) to identify those scopes, if they are used for controls (And the actual type is int). Change-Id: I8eccc54d3b7a90428a71c882364a04e5d1030988 Reviewed-by: Tim Jenssen --- .../designercore/model/texttomodelmerger.cpp | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index eee38122bd1..e05d83828c1 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -82,6 +82,12 @@ static inline QStringList globalQtEnums() return list; } +static inline QStringList knownEnumScopes() +{ + static QStringList list = QStringList() << QStringLiteral("TextInput") << QStringLiteral("TextEdit"); + return list; +} + static inline bool supportedQtQuickVersion(const QString &version) { static QStringList supportedVersions = supportedVersionsList(); @@ -574,10 +580,16 @@ public: { QStringList astValueList = astValue.split(QStringLiteral(".")); - if (astValueList.count() == 2 //Check for global Qt enums - && astValueList.first() == QStringLiteral("Qt") - && globalQtEnums().contains(astValueList.last())) - return QVariant::fromValue(Enumeration(astValue)); + if (astValueList.count() == 2) { + //Check for global Qt enums + if (astValueList.first() == QStringLiteral("Qt") + && globalQtEnums().contains(astValueList.last())) + return QVariant::fromValue(Enumeration(astValue)); + + //Check for known enum scopes used globally + if (knownEnumScopes().contains(astValueList.first())) + return QVariant::fromValue(Enumeration(astValue)); + } AST::ExpressionStatement *eStmt = AST::cast(rhs); if (!eStmt || !eStmt->expression)