diff options
Diffstat (limited to 'share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml')
-rw-r--r-- | share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml index 536877b58e..8c12d37bb5 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml @@ -42,7 +42,13 @@ Column { property variant backendValue - property variant value: backendValue.value + property variant value: { + if (isVector3D) + return Qt.rgba(backendValue.value.x, backendValue.value.y, backendValue.value.z, 1); + else + return backendValue.value; + + } property alias gradientPropertyName: gradientLine.gradientPropertyName @@ -52,6 +58,8 @@ Column { property color originalColor + property bool isVector3D: false + function isNotInGradientMode() { return (buttonRow.checkedIndex === 0 || transparent) } @@ -70,8 +78,15 @@ Column { interval: 100 running: false onTriggered: { - if (backendValue !== undefined) - backendValue.value = colorEditor.color + if (colorEditor.backendValue !== undefined) { + if (isVector3D) { + colorEditor.backendValue.value = Qt.vector3d(colorEditor.color.r, + colorEditor.color.g, + colorEditor.color.b); + } else { + colorEditor.backendValue.value = colorEditor.color; + } + } } } @@ -231,8 +246,15 @@ Column { onCommitData: { colorEditor.color = colorFromString(textField.text) - if (isNotInGradientMode()) - backendValue.value = colorEditor.color + if (isNotInGradientMode()) { + if (colorEditor.isVector3D) { + backendValue.value = Qt.vector3d(colorEditor.color.r, + colorEditor.color.g, + colorEditor.color.b); + } else { + backendValue.value = colorEditor.color; + } + } } Layout.fillWidth: true |