aerothemeplasma/plasma/plasmoids/io.gitgud.wackyideas.desktopcontainment/contents/ui/WatermarkConfigure.qml
wackyideas 8d6fbd7bdb overhaul: prepare repo for Plasma 6.6 release
This commit overhauls the repository structure such that it separates
the project into multiple repositories, one for each subproject. This
repository will be moved to the AeroShell group, and most importantly,
the installation method changes from locally installed modifications, to
CMake-based installation, in preparation for AUR packages, and possibly
packages for other distros.

Migration details are in INSTALL.md, which are highly recommended, if
not required to uninstall any old instance of AeroThemePlasma.
2026-02-21 21:15:07 +01:00

163 lines
4.5 KiB
QML

import QtQuick
import QtQuick.Layouts
import QtQuick.Controls as QQC2
import org.kde.kirigami as Kirigami
Window {
id: root
property string purpose
property int index
property string text: "New watermark"
property bool bold: false
property string color: "FFFFFF"
property int horizontalAlignment: 2
signal done(int index, string text, bool bold, string color, int horizontalAlignment)
onDone: destroy();
minimumWidth: width
minimumHeight: height
width: 418
height: column.height < 1 ? 1 : column.height
maximumWidth: width
maximumHeight: height
title: i18n("Desktop")
FontMetrics { id: systemFont; font: color.font }
ColumnLayout {
id: column
anchors.left: parent.left
anchors.right: parent.right
spacing: 0
Rectangle {
id: topContents
Layout.preferredWidth: parent.width
Layout.preferredHeight: row.implicitHeight + 24
color: "white"
RowLayout {
id: row
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.margins: 12
spacing: 8
Kirigami.Icon {
Layout.alignment: Qt.AlignTop
implicitWidth: 32
implicitHeight: 32
source: "plasma"
}
ColumnLayout {
Text {
Layout.fillWidth: true
text: root.purpose == "new" ? i18n("Create a new watermark") : i18n("Modify an existing watermark")
color: "#003399"
font.pointSize: 11
}
RowLayout {
Layout.fillWidth: true
Text { Layout.fillWidth: true; text: i18n("Text:") }
QQC2.TextField { id: text; Layout.fillWidth: true; text: root.text }
}
QQC2.CheckBox {
id: bold
text: i18n("Use bold text")
checked: root.bold
}
RowLayout {
Text {
Layout.fillWidth: true
text: i18n("Color (HEX):")
}
Text {
text: "#"
}
QQC2.TextField {
id: color
Layout.minimumWidth: Math.round(systemFont.maximumCharacterWidth)*6
Layout.maximumWidth: Math.round(systemFont.maximumCharacterWidth)*6
validator: RegularExpressionValidator { regularExpression: /[0-9A-Fa-f]+/ }
maximumLength: 6
text: root.color
color: "black"
}
}
RowLayout {
Text {
Layout.fillWidth: true
text: i18n("Horizontal alignment:")
}
QQC2.ComboBox {
id: horizontalAlignment
currentIndex: root.horizontalAlignment
model: [
"Left",
"Center",
"Right"
]
}
}
}
}
}
Rectangle { Layout.preferredWidth: parent.width; Layout.preferredHeight: 1; color: "#dfdfdf" }
Rectangle {
Layout.preferredWidth: parent.width
Layout.preferredHeight: 40
color: "#f0f0f0"
RowLayout {
anchors.fill: parent
anchors.rightMargin: 11
spacing: 8
Item { Layout.fillWidth: true }
QQC2.Button {
text: i18n("OK")
onClicked: root.done(root.index, text.text, bold.checked, color.text, horizontalAlignment.currentIndex);
}
QQC2.Button {
text: i18n("Cancel")
onClicked: root.destroy();
}
}
}
}
}