// 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; } }