diff options
author | Christian Stenger <[email protected]> | 2020-04-22 16:06:07 +0200 |
---|---|---|
committer | Christian Stenger <[email protected]> | 2020-04-24 10:34:58 +0000 |
commit | 20b095c6b4b9bd394a4ad6062a588de5bbf14b52 (patch) | |
tree | 06d5a4c11fe157757a7586667090c78e2e349655 | |
parent | 63db0f271fd2f9d9136e30e49693a525d60f8549 (diff) |
QmlJS: Fix palette support
Fixes false positive warnings of having no members
and allows to auto-complete its members.
Fixes: QTCREATORBUG-23659
Change-Id: I4da43b9d3f005f9c6cc759ec424bf67062beff78
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Eike Ziller <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
-rw-r--r-- | src/libs/qmljs/qmljsinterpreter.cpp | 2 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsvalueowner.cpp | 28 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsvalueowner.h | 1 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index df6d59c4616..bf13df85455 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -395,6 +395,8 @@ const Value *CppComponentValue::valueForCppName(const QString &typeName) const return valueOwner()->realValue(); } else if (typeName == QLatin1String("QFont")) { return valueOwner()->qmlFontObject(); + } else if (typeName == QLatin1String("QPalette")) { + return valueOwner()->qmlPaletteObject(); } else if (typeName == QLatin1String("QPoint") || typeName == QLatin1String("QPointF") || typeName == QLatin1String("QVector2D")) { diff --git a/src/libs/qmljs/qmljsvalueowner.cpp b/src/libs/qmljs/qmljsvalueowner.cpp index 573ccb2aa1b..d9d33931e2b 100644 --- a/src/libs/qmljs/qmljsvalueowner.cpp +++ b/src/libs/qmljs/qmljsvalueowner.cpp @@ -95,6 +95,7 @@ public: ObjectValue *_mathObject; ObjectValue *_qtObject; ObjectValue *_qmlFontObject; + ObjectValue *_qmlPaletteObject; ObjectValue *_qmlPointObject; ObjectValue *_qmlSizeObject; ObjectValue *_qmlRectObject; @@ -496,6 +497,28 @@ SharedValueOwner::SharedValueOwner(SharedValueOwnerKind kind) _qmlFontObject->setMember(QLatin1String("kerning"), booleanValue()); _qmlFontObject->setMember(QLatin1String("preferShaping"), booleanValue()); + _qmlPaletteObject = newObject(/* prototype = */ nullptr); + _qmlPaletteObject->setClassName(QLatin1String("palette")); + _qmlPaletteObject->setMember(QLatin1String("alternateBase"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("base"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("brightText"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("button"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("buttonText"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("dark"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("highlight"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("highlightedText"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("light"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("link"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("linkVisited"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("mid"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("midlight"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("shadow"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("text"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("toolTipBase"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("toolTipText"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("window"), colorValue()); + _qmlPaletteObject->setMember(QLatin1String("windowText"), colorValue()); + _qmlPointObject = newObject(/*prototype =*/ nullptr); _qmlPointObject->setClassName(QLatin1String("Point")); _qmlPointObject->setMember(QLatin1String("x"), numberValue()); @@ -896,6 +919,11 @@ const ObjectValue *ValueOwner::qmlFontObject() return _shared->_qmlFontObject; } +const ObjectValue *ValueOwner::qmlPaletteObject() +{ + return _shared->_qmlPaletteObject; +} + const ObjectValue *ValueOwner::qmlPointObject() { return _shared->_qmlPointObject; diff --git a/src/libs/qmljs/qmljsvalueowner.h b/src/libs/qmljs/qmljsvalueowner.h index 9c5adfe53d5..22f2d49196e 100644 --- a/src/libs/qmljs/qmljsvalueowner.h +++ b/src/libs/qmljs/qmljsvalueowner.h @@ -82,6 +82,7 @@ public: // QML objects const ObjectValue *qmlFontObject(); + const ObjectValue *qmlPaletteObject(); const ObjectValue *qmlPointObject(); const ObjectValue *qmlSizeObject(); const ObjectValue *qmlRectObject(); |