JS/TS / fmt (pull_request) Successful in 7s
JS/TS / lint (pull_request) Successful in 9s
Python / fmt (pull_request) Successful in 15s
Python / lint (pull_request) Failing after 19s
Python / typecheck (pull_request) Failing after 1m5s
C++ / fmt (pull_request) Successful in 6s
Python / test (pull_request) Successful in 1m20s
Rust / fmt (pull_request) Successful in 1m42s
Python / buildcheck (pull_request) Successful in 2m23s
Rust / clippy (pull_request) Successful in 2m42s
Rust / build (pull_request) Successful in 2m53s
C++ / build (pull_request) Successful in 2m22s
C++ / clang-tidy (pull_request) Successful in 3m17s
85 lines
1.9 KiB
QML
85 lines
1.9 KiB
QML
import QtQuick
|
|
import qs.Config
|
|
import qs.Components
|
|
import qs.Helpers
|
|
|
|
Row {
|
|
id: root
|
|
|
|
property real batHeight: Appearance.padding.smaller * 2
|
|
property real batWidth: Appearance.padding.larger * 2
|
|
required property string devState
|
|
property real nubHeight: Appearance.padding.small
|
|
property real nubWidth: 2
|
|
required property real percentage
|
|
property real radius: Appearance.rounding.smallest / 2
|
|
|
|
spacing: 1
|
|
|
|
CustomRect {
|
|
id: track
|
|
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
color: Battery.getColors(root.percentage, root.devState).bg
|
|
height: root.batHeight
|
|
radius: root.radius
|
|
width: root.batWidth
|
|
|
|
CustomText {
|
|
color: Battery.getColors(root.percentage, root.devState).fg
|
|
font.pointSize: Appearance.font.size.larger / 1.5
|
|
font.weight: 800
|
|
height: track.height
|
|
horizontalAlignment: Text.AlignHCenter
|
|
text: Math.round(root.percentage * 100)
|
|
verticalAlignment: Text.AlignVCenter
|
|
width: track.width
|
|
}
|
|
|
|
Item {
|
|
clip: true
|
|
width: parent.width * root.percentage
|
|
|
|
anchors {
|
|
bottom: parent.bottom
|
|
left: parent.left
|
|
top: parent.top
|
|
}
|
|
|
|
CustomRect {
|
|
id: fill
|
|
|
|
color: Battery.getColors(root.percentage, root.devState).fg
|
|
height: track.height
|
|
radius: track.radius
|
|
width: track.width
|
|
|
|
CustomText {
|
|
id: batteryLabel
|
|
|
|
clip: true
|
|
color: Battery.getColors(root.percentage, root.devState).bg
|
|
font.pointSize: Appearance.font.size.larger / 1.5
|
|
font.weight: 800
|
|
height: track.height
|
|
horizontalAlignment: Text.AlignHCenter
|
|
text: Math.round(root.percentage * 100)
|
|
verticalAlignment: Text.AlignVCenter
|
|
width: track.width
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
CustomRect {
|
|
id: nub
|
|
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
bottomRightRadius: 20
|
|
color: root.percentage < 0.99 ? track.color : fill.color
|
|
height: root.nubHeight
|
|
topRightRadius: 20
|
|
width: root.nubWidth
|
|
}
|
|
}
|