Files
2026-07-21 14:34:39 +03:00

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