mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
51 lines
1.3 KiB
QML
51 lines
1.3 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import qs.Common
|
|
|
|
Row {
|
|
id: root
|
|
|
|
property int currentSize: 50
|
|
property bool isSlider: false
|
|
property int widgetIndex: -1
|
|
|
|
signal sizeChanged(int newSize)
|
|
|
|
readonly property var availableSizes: isSlider ? [50, 100] : [25, 50, 75, 100]
|
|
|
|
spacing: 2
|
|
|
|
Repeater {
|
|
model: root.availableSizes
|
|
|
|
Rectangle {
|
|
width: 16
|
|
height: 16
|
|
radius: 3
|
|
color: modelData === root.currentSize ? Theme.primary : Theme.surfaceContainer
|
|
border.color: modelData === root.currentSize ? Theme.primary : Theme.outline
|
|
border.width: 1
|
|
|
|
StyledText {
|
|
anchors.centerIn: parent
|
|
text: modelData.toString()
|
|
font.pixelSize: 8
|
|
font.weight: Font.Medium
|
|
color: modelData === root.currentSize ? Theme.primaryContainer : Theme.surfaceText
|
|
}
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
cursorShape: Qt.PointingHandCursor
|
|
onClicked: {
|
|
root.currentSize = modelData
|
|
root.sizeChanged(modelData)
|
|
}
|
|
}
|
|
|
|
Behavior on color {
|
|
ColorAnimation { duration: Theme.shortDuration }
|
|
}
|
|
}
|
|
}
|
|
} |