aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2020-04-22 16:06:07 +0200
committerChristian Stenger <christian.stenger@qt.io>2020-04-24 10:34:58 +0000
commit20b095c6b4b9bd394a4ad6062a588de5bbf14b52 (patch)
tree06d5a4c11fe157757a7586667090c78e2e349655 /src/libs
parent63db0f271fd2f9d9136e30e49693a525d60f8549 (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 <fabian.kosmale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/qmljs/qmljsinterpreter.cpp2
-rw-r--r--src/libs/qmljs/qmljsvalueowner.cpp28
-rw-r--r--src/libs/qmljs/qmljsvalueowner.h1
3 files changed, 31 insertions, 0 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp
index df6d59c461..bf13df8545 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 573ccb2aa1..d9d33931e2 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 9c5adfe53d..22f2d49196 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();