QmlDesigner: Refactor effect preview component

Warm up rendering by introducing some adjusts and refactoring

Change-Id: I6575467325f5f6c2001958d4f95c9c74be17143f
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Amr Essam
2023-10-02 11:33:15 +03:00
committed by Amr Elsayed
parent 01a4f087c6
commit 44a8ffdf39

View File

@@ -16,6 +16,8 @@ Column {
required property Item mainRoot required property Item mainRoot
property alias source: source
Rectangle { // toolbar Rectangle { // toolbar
width: parent.width width: parent.width
height: StudioTheme.Values.toolbarHeight height: StudioTheme.Values.toolbarHeight
@@ -38,35 +40,35 @@ Column {
} }
HelperWidgets.AbstractButton { HelperWidgets.AbstractButton {
enabled: previewImage.scale > .4 enabled: sourceImage.scale > .4
style: StudioTheme.Values.viewBarButtonStyle style: StudioTheme.Values.viewBarButtonStyle
buttonIcon: StudioTheme.Constants.zoomOut_medium buttonIcon: StudioTheme.Constants.zoomOut_medium
tooltip: qsTr("Zoom out") tooltip: qsTr("Zoom out")
onClicked: { onClicked: {
previewImage.scale -= .2 sourceImage.scale -= .2
} }
} }
HelperWidgets.AbstractButton { HelperWidgets.AbstractButton {
enabled: previewImage.scale < 2 enabled: sourceImage.scale < 2
style: StudioTheme.Values.viewBarButtonStyle style: StudioTheme.Values.viewBarButtonStyle
buttonIcon: StudioTheme.Constants.zoomIn_medium buttonIcon: StudioTheme.Constants.zoomIn_medium
tooltip: qsTr("Zoom In") tooltip: qsTr("Zoom In")
onClicked: { onClicked: {
previewImage.scale += .2 sourceImage.scale += .2
} }
} }
HelperWidgets.AbstractButton { HelperWidgets.AbstractButton {
enabled: previewImage.scale !== 1 enabled: sourceImage.scale !== 1
style: StudioTheme.Values.viewBarButtonStyle style: StudioTheme.Values.viewBarButtonStyle
buttonIcon: StudioTheme.Constants.fitAll_medium buttonIcon: StudioTheme.Constants.fitAll_medium
tooltip: qsTr("Zoom Fit") tooltip: qsTr("Zoom Fit")
onClicked: { onClicked: {
previewImage.scale = 1 sourceImage.scale = 1
} }
} }
@@ -107,22 +109,27 @@ Column {
} }
Rectangle { // preview image Rectangle { // preview image
id: previewImageBg id: preview
color: "#dddddd" color: "#dddddd"
width: parent.width width: parent.width
height: 200 height: 200
clip: true clip: true
Image { Item {
id: previewImage id: source
anchors.fill: parent
layer.enabled: true
layer.mipmap: true
layer.smooth: true
Image {
id: sourceImage
anchors.margins: 5 anchors.margins: 5
anchors.fill: parent anchors.fill: parent
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
smooth: true
source: imagesComboBox.selectedImage source: imagesComboBox.selectedImage
smooth: true
Behavior on scale { Behavior on scale {
NumberAnimation { NumberAnimation {
@@ -132,4 +139,5 @@ Column {
} }
} }
} }
}
} }