Revision control

Copy as Markdown

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
CustomDialog {
id: rootItem
// Original item padding
property rect itemPadding
// Modified item padding
property rect newItemPadding
function updatePadding() {
effectManager.setEffectPadding(newItemPadding);
}
title: qsTr("Project Settings")
width: 400
height: 480
modal: true
focus: true
onVisibleChanged: {
if (visible) {
paddingLeftTextField.text = itemPadding.x;
paddingTopTextField.text = itemPadding.y;
paddingRightTextField.text = itemPadding.width;
paddingBottomTextField.text = itemPadding.height;
headingsTextItem.text = effectManager.effectHeadings;
}
}
Column {
id: mainContent
width: parent.width
spacing: 10
Text {
id: paddingLabel
color: mainView.foregroundColor2
font.pixelSize: 14
font.bold: true
text: "Item padding"
}
GridLayout {
columns: 4
Text {
Layout.row: 0
Layout.column: 0
Layout.preferredWidth: 50
color: mainView.foregroundColor2
font.pixelSize: 14
text: "left:"
}
CustomTextField {
id: paddingLeftTextField
Layout.row: 0
Layout.column: 1
Layout.preferredWidth: 50
text: itemPadding.x
onTextChanged: {
rootItem.newItemPadding.x = Number(text);
updatePadding();
}
}
Text {
Layout.row: 0
Layout.column: 2
Layout.preferredWidth: 50
color: mainView.foregroundColor2
font.pixelSize: 14
text: "top:"
}
CustomTextField {
id: paddingTopTextField
Layout.row: 0
Layout.column: 3
Layout.preferredWidth: 50
text: itemPadding.y
onTextChanged: {
rootItem.newItemPadding.y = Number(text);
updatePadding();
}
}
Text {
Layout.row: 1
Layout.column: 0
Layout.preferredWidth: 50
color: mainView.foregroundColor2
font.pixelSize: 14
text: "right:"
}
CustomTextField {
id: paddingRightTextField
Layout.row: 1
Layout.column: 1
Layout.preferredWidth: 50
text: itemPadding.width
onTextChanged: {
rootItem.newItemPadding.width = Number(text);
updatePadding();
}
}
Text {
Layout.row: 1
Layout.column: 2
Layout.preferredWidth: 50
color: mainView.foregroundColor2
font.pixelSize: 14
text: "bottom:"
}
CustomTextField {
id: paddingBottomTextField
Layout.row: 1
Layout.column: 3
Layout.preferredWidth: 50
text: itemPadding.height
onTextChanged: {
rootItem.newItemPadding.height = Number(text);
updatePadding();
}
}
}
Item {
width: 1
height: 10
}
Text {
id: headingLabel
color: mainView.foregroundColor2
font.pixelSize: 14
font.bold: true
text: "QML compont headings"
}
CustomTextEdit {
id: headingsTextItem
width: parent.width
height: 120
}
}
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: {
effectManager.setEffectPadding(newItemPadding);
effectManager.effectHeadings = headingsTextItem.text;
}
onRejected: {
effectManager.setEffectPadding(itemPadding);
headingsTextItem.text = effectManager.effectHeadings;
}
}