mirror of
https://github.com/danbulant/dots-hyprland
synced 2026-05-24 12:22:09 +00:00
48 lines
1.6 KiB
QML
48 lines
1.6 KiB
QML
import qs.services
|
|
import qs.modules.common
|
|
import qs.modules.common.functions
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
|
|
RippleButton { // Expand button
|
|
id: root
|
|
required property int count
|
|
required property bool expanded
|
|
property real fontSize: Appearance?.font.pixelSize.small ?? 12
|
|
property real iconSize: Appearance?.font.pixelSize.normal ?? 16
|
|
implicitHeight: fontSize + 4 * 2
|
|
implicitWidth: Math.max(contentItem.implicitWidth + 5 * 2, 30)
|
|
Layout.alignment: Qt.AlignVCenter
|
|
Layout.fillHeight: false
|
|
|
|
buttonRadius: Appearance.rounding.full
|
|
colBackground: ColorUtils.mix(Appearance?.colors.colLayer2, Appearance?.colors.colLayer2Hover, 0.5)
|
|
colBackgroundHover: Appearance?.colors.colLayer2Hover ?? "#E5DFED"
|
|
colRipple: Appearance?.colors.colLayer2Active ?? "#D6CEE2"
|
|
|
|
contentItem: Item {
|
|
anchors.centerIn: parent
|
|
implicitWidth: contentRow.implicitWidth
|
|
RowLayout {
|
|
id: contentRow
|
|
anchors.centerIn: parent
|
|
spacing: 3
|
|
StyledText {
|
|
Layout.leftMargin: 4
|
|
visible: root.count > 1
|
|
text: root.count
|
|
font.pixelSize: root.fontSize
|
|
}
|
|
MaterialSymbol {
|
|
text: "keyboard_arrow_down"
|
|
iconSize: root.iconSize
|
|
color: Appearance.colors.colOnLayer2
|
|
rotation: expanded ? 180 : 0
|
|
Behavior on rotation {
|
|
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|