25 import QtQuick.Controls 2.5 as QtControls
26 import QtQuick.Layouts 1.1
27 import QtQuick.Dialogs 1.2 as QtDialogs
28 import org.kde.kquickcontrols 2.0 as KQC
29 import org.kde.kirigami 2.8 as Kirigami
34 property alias cfg_boardSize: sizeSpinBox.value
35 property alias cfg_boardColor: pieceColorPicker.color
36 property alias cfg_numberColor: numberColorPicker.color
37 property alias cfg_showNumerals: showNumeralsCheckBox.checked
39 property alias cfg_useImage: imageBackgroundRadioButton.checked
40 property alias cfg_imagePath: imagePathTextField.text
42 QtControls.ButtonGroup {
48 Component.onCompleted: {
49 colorBackgroundRadioButton.checked = !imageBackgroundRadioButton.checked;
54 Kirigami.FormData.label: i18nc(
"@label:spinbox",
"Grid size:")
58 Kirigami.FormData.isSection:
true
63 Kirigami.FormData.label: i18n(
"Background:")
65 QtControls.RadioButton {
66 id: colorBackgroundRadioButton
67 QtControls.ButtonGroup.group: radioGroup
74 enabled: colorBackgroundRadioButton.checked
80 QtControls.RadioButton {
81 id: imageBackgroundRadioButton
82 QtControls.ButtonGroup.group: radioGroup
87 Kirigami.ActionTextField {
88 id: imagePathTextField
89 enabled: imageBackgroundRadioButton.checked
91 Layout.fillWidth:
true
92 placeholderText: i18nc(
"@info:placeholder",
"Path to custom image...")
96 iconName:
"edit-clear"
97 visible: imagePathTextField.text.length !== 0
98 onTriggered: imagePathTextField.text =
"";
104 enabled: imageBackgroundRadioButton.checked
106 icon.name:
"document-open"
108 QtControls.ToolTip.visible: hovered
109 QtControls.ToolTip.delay: 100
110 QtControls.ToolTip.text: i18nc(
"@info:tooltip",
"Choose image...")
112 onClicked: imagePicker.open()
114 QtDialogs.FileDialog {
117 title: i18nc(
"@title:window",
"Choose an Image")
119 folder: shortcuts.pictures
122 nameFilters: [ i18n("Image Files (*.png *.jpg *.jpeg *.bmp *.svg *.svgz)") ]
125 imagePathTextField.text = fileUrl.toString().replace(
"file://",
"")
132 Kirigami.FormData.isSection:
true
136 Kirigami.FormData.label: i18n(
"Tiles:")
138 QtControls.CheckBox {
139 id: showNumeralsCheckBox
140 text: i18n(
"Colored numbers:")
144 id: numberColorPicker
145 enabled: showNumeralsCheckBox.checked