diff options
Diffstat (limited to 'share/qtcreator/qmldesigner/effectComposerQmlSources')
12 files changed, 113 insertions, 30 deletions
diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml index dda1d93ff9..305bbc7925 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml @@ -365,7 +365,7 @@ ColumnLayout { Connections { id: dragConnection target: root.draggedSec - onYChanged: root.handleDragMove() + function onYChanged() { root.handleDragMove() } } Timer { diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerPreview.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerPreview.qml index c832b2f370..c0c47f7366 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerPreview.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerPreview.qml @@ -21,6 +21,7 @@ Column { readonly property int updateDelay: 100 readonly property int previewMargin: 5 + readonly property int extraMargin: 200 property real previewScale: 1 @@ -246,6 +247,8 @@ Column { layer.enabled: true layer.mipmap: true layer.smooth: true + layer.sourceRect: Qt.rect(-root.extraMargin, -root.extraMargin, + width + root.extraMargin * 2, height + root.extraMargin * 2) visible: false Image { @@ -347,10 +350,6 @@ Column { width: source.width height: source.height anchors.centerIn: parent - // Cache the layer. This way heavy shaders rendering doesn't - // slow down code editing & rest of the UI. - layer.enabled: true - layer.smooth: true } } @@ -383,7 +382,6 @@ Column { Connections { target: effectComposerModel function onShadersBaked() { - console.log("Shaders Baked!") updateTimer.restart() } } diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerTopBar.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerTopBar.qml index d5ac4461c4..799dbeeddc 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerTopBar.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposerTopBar.qml @@ -48,7 +48,7 @@ Rectangle { style: StudioTheme.Values.viewBarButtonStyle buttonIcon: StudioTheme.Constants.saveAs_medium tooltip: qsTr("Save current composition with a new name") - enabled: root.backendModel ? root.backendModel.isEnabled && !root.backendModel.isEmpty + enabled: root.backendModel ? root.backendModel.isEnabled && root.backendModel.currentComposition !== "" : false onClicked: root.saveAsClicked() @@ -58,7 +58,8 @@ Rectangle { style: StudioTheme.Values.viewBarButtonStyle buttonIcon: StudioTheme.Constants.assignTo_medium tooltip: qsTr("Assign current composition to selected item") - enabled: root.backendModel ? root.backendModel.isEnabled + enabled: root.backendModel ? root.backendModel.hasValidTarget + && root.backendModel.isEnabled && root.backendModel.currentComposition !== "" : false @@ -88,8 +89,8 @@ Rectangle { 2. Adjust the effect nodes properties 3. Change the order of the effects, if you like 4. See the preview -5. Save in the library, if you wish to reuse the effect later") // TODO: revise with doc engineer +5. Save in the assets library, if you wish to reuse the effect later") - onClicked: Qt.openUrlExternally("https://doc.qt.io/qtdesignstudio/qt-using-effect-maker-effects.html") + onClicked: Qt.openUrlExternally("https://doc.qt.io/qtdesignstudio/qtquick-effect-composer-view.html") } } diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNode.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNode.qml index 6defa3b092..a606461b5c 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNode.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNode.qml @@ -43,6 +43,8 @@ HelperWidgets.Section { EffectCompositionNodeUniform { width: root.width + + onReset: nodeUniformsModel.resetData(index) } } } diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNodeUniform.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNodeUniform.qml index 71cbf94f8b..7c3214c5fa 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNodeUniform.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectCompositionNodeUniform.qml @@ -13,9 +13,10 @@ Item { id: root height: layout.implicitHeight - visible: !uniformUseCustomValue + signal reset() + Component.onCompleted: { if (uniformType === "int") { if (uniformControlType === "channel") @@ -49,10 +50,11 @@ Item { RowLayout { id: layout - spacing: 20 anchors.fill: parent Text { + id: textName + text: uniformDisplayName color: StudioTheme.Values.themeTextColor font.pixelSize: StudioTheme.Values.baseFontSize @@ -63,11 +65,38 @@ Item { elide: Text.ElideRight HelperWidgets.ToolTipArea { + id: tooltipArea + anchors.fill: parent tooltip: uniformDescription } } + Item { + Layout.preferredHeight: 30 + Layout.preferredWidth: 30 + + MouseArea { + id: mouseArea + + anchors.fill: parent + hoverEnabled: true + } + + HelperWidgets.IconButton { + id: iconButton + + buttonSize: 24 + icon: StudioTheme.Constants.reload_medium + iconSize: 16 + anchors.centerIn: parent + visible: mouseArea.containsMouse || iconButton.containsMouse + tooltip: qsTr("Reset value") + onClicked: root.reset() + } + + } + Loader { id: valueLoader Layout.fillWidth: true diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/SaveAsDialog.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/SaveAsDialog.qml index d139ba9205..65b01be457 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/SaveAsDialog.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/SaveAsDialog.qml @@ -50,11 +50,13 @@ StudioControls.Dialog { if (/[^A-Za-z0-9_]+/.test(text)) errMsg = qsTr("Name contains invalid characters.") else if (!/^[A-Z]/.test(text)) - errMsg = qsTr("Name must start with a capital letter") + errMsg = qsTr("Name must start with a capital letter.") else if (text.length < 3) - errMsg = qsTr("Name must have at least 3 characters") + errMsg = qsTr("Name must have at least 3 characters.") else if (/\s/.test(text)) - errMsg = qsTr("Name cannot contain white space") + errMsg = qsTr("Name cannot contain white space.") + else if (EffectComposerBackend.effectComposerModel.nameExists(text)) + errMsg = qsTr("Name is already taken.") emptyText.text = errMsg btnSave.enabled = errMsg.length === 0 diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueColor.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueColor.qml index 4b00bd7613..f7482260b5 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueColor.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueColor.qml @@ -15,8 +15,14 @@ Row { StudioControls.ColorEditor { actionIndicatorVisible: false - Component.onCompleted: color = uniformValue + // color: uniformValue binding can get overwritten by normal operation of the control + property color resetValue: uniformValue - onColorChanged: uniformValue = color + onResetValueChanged: color = uniformValue + Component.onCompleted: color = uniformValue + onColorChanged: { + if (uniformValue !== color) + uniformValue = color + } } } diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueFloat.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueFloat.qml index 7348d6668b..6b723a9bc5 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueFloat.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueFloat.qml @@ -14,6 +14,10 @@ Row { HelperWidgets.DoubleSpinBox { id: spinBox + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue + onResetValueChanged: value = resetValue + width: 60 spinBoxIndicatorVisible: false inputHAlignment: Qt.AlignHCenter @@ -22,7 +26,7 @@ Row { value: uniformValue stepSize: .01 decimals: 2 - onValueChanged: uniformValue = value + onValueModified: uniformValue = value } StudioControls.Slider { @@ -38,8 +42,9 @@ Row { to: uniformMaxValue value: uniformValue onMoved: { - uniformValue = value - spinBox.value = value // binding isn't working for this property so update it + let fixedValue = Number.parseFloat(value).toFixed(slider.decimals) + uniformValue = fixedValue + spinBox.value = fixedValue // binding isn't working for this property so update it } } } diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueInt.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueInt.qml index 89f571c8cb..d67929168a 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueInt.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueInt.qml @@ -14,6 +14,10 @@ Row { HelperWidgets.DoubleSpinBox { id: spinBox + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue + onResetValueChanged: value = resetValue + width: 60 spinBoxIndicatorVisible: false inputHAlignment: Qt.AlignHCenter @@ -22,7 +26,7 @@ Row { value: uniformValue stepSize: 1 decimals: 0 - onValueChanged: uniformValue = Math.round(value) + onValueModified: uniformValue = Math.round(value) } StudioControls.Slider { diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec2.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec2.qml index b703d5f184..adb4fe9905 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec2.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec2.qml @@ -15,6 +15,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vX + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.x + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -26,7 +30,7 @@ RowLayout { value: uniformValue.x stepSize: .01 decimals: 2 - onValueChanged: uniformValue.x = value + onValueModified: uniformValue.x = value } Item { // spacer @@ -51,6 +55,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vY + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.y + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -62,7 +70,7 @@ RowLayout { value: uniformValue.y stepSize: .01 decimals: 2 - onValueChanged: uniformValue.y = value + onValueModified: uniformValue.y = value } Item { // spacer diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec3.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec3.qml index d59b63a514..78573c48f6 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec3.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec3.qml @@ -15,6 +15,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vX + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.x + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -26,7 +30,7 @@ RowLayout { value: uniformValue.x stepSize: .01 decimals: 2 - onValueChanged: uniformValue.x = value + onValueModified: uniformValue.x = value } Item { // spacer @@ -51,6 +55,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vY + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.y + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -62,7 +70,7 @@ RowLayout { value: uniformValue.y stepSize: .01 decimals: 2 - onValueChanged: uniformValue.y = value + onValueModified: uniformValue.y = value } Item { // spacer @@ -87,6 +95,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vZ + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.z + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -98,7 +110,7 @@ RowLayout { value: uniformValue.z stepSize: .01 decimals: 2 - onValueChanged: uniformValue.z = value + onValueModified: uniformValue.z = value } Item { // spacer diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec4.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec4.qml index 7e930abf81..61ce8e6389 100644 --- a/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec4.qml +++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ValueVec4.qml @@ -15,6 +15,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vX + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.x + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -26,7 +30,7 @@ RowLayout { value: uniformValue.x stepSize: .01 decimals: 2 - onValueChanged: uniformValue.x = value + onValueModified: uniformValue.x = value } Item { // spacer @@ -51,6 +55,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vY + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.y + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -62,7 +70,7 @@ RowLayout { value: uniformValue.y stepSize: .01 decimals: 2 - onValueChanged: uniformValue.y = value + onValueModified: uniformValue.y = value } Item { // spacer @@ -87,6 +95,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vZ + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.z + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -98,7 +110,7 @@ RowLayout { value: uniformValue.z stepSize: .01 decimals: 2 - onValueChanged: uniformValue.z = value + onValueModified: uniformValue.z = value } Item { // spacer @@ -123,6 +135,10 @@ RowLayout { HelperWidgets.DoubleSpinBox { id: vW + // value: uniformValue binding can get overwritten by normal operation of the control + property double resetValue: uniformValue.w + onResetValueChanged: value = resetValue + Layout.fillWidth: true Layout.minimumWidth: 30 Layout.maximumWidth: 60 @@ -134,7 +150,7 @@ RowLayout { value: uniformValue.w stepSize: .01 decimals: 2 - onValueChanged: uniformValue.w = value + onValueModified: uniformValue.w = value } Item { // spacer |