88 lines
2.4 KiB
QML
88 lines
2.4 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Controls 2.12
|
|
import QtQuick.Layouts 1.12
|
|
import "../components"
|
|
|
|
Item {
|
|
id: page
|
|
|
|
function syncColors() {
|
|
labelPicker.hex = settingsContainer.labelColor
|
|
}
|
|
|
|
Component.onCompleted: syncColors()
|
|
|
|
Connections {
|
|
target: settingsContainer
|
|
function onChanged() { page.syncColors() }
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
color: "#161628"
|
|
}
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
anchors.margins: 8
|
|
spacing: 12
|
|
|
|
BackHeader { title: "Расположение"; onBack: page.StackView.view.pop() }
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
Text {
|
|
text: "Режим:"
|
|
color: "#ffffff"
|
|
}
|
|
Item { Layout.fillWidth: true }
|
|
Button {
|
|
text: "Сетка"
|
|
highlighted: settingsContainer.layoutMode === "grid"
|
|
onClicked: btnController.setLayoutMode("grid")
|
|
}
|
|
Button {
|
|
text: "Список"
|
|
highlighted: settingsContainer.layoutMode === "list"
|
|
onClicked: btnController.setLayoutMode("list")
|
|
}
|
|
}
|
|
|
|
LabeledSlider {
|
|
visible: settingsContainer.layoutMode === "grid"
|
|
label: "Колонок"
|
|
from: 1; to: 8; stepSize: 1
|
|
value: settingsContainer.layoutColumns
|
|
onMoved: btnController.setLayoutColumns(value)
|
|
}
|
|
|
|
LabeledSlider {
|
|
label: "Отступ"
|
|
from: 0; to: 40; stepSize: 1
|
|
value: settingsContainer.layoutSpacing
|
|
onMoved: btnController.setLayoutSpacing(value)
|
|
}
|
|
|
|
CheckBox {
|
|
text: "Показывать подписи"
|
|
checked: settingsContainer.showLabels
|
|
onToggled: btnController.setLayoutShowLabels(checked)
|
|
contentItem: Text {
|
|
text: parent.text
|
|
font: parent.font
|
|
color: "#ffffff"
|
|
leftPadding: parent.indicator.width + parent.spacing
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
}
|
|
|
|
ColorPickerField {
|
|
id: labelPicker
|
|
label: "Цвет подписей:"
|
|
onColorChanged: btnController.setLayoutLabelColor(hex)
|
|
}
|
|
|
|
Item { Layout.fillHeight: true }
|
|
}
|
|
}
|