forked from Shinonome/dots-hyprland
Merge branch 'main' into hefty-hype
This commit is contained in:
@@ -21,14 +21,15 @@ MouseArea {
|
||||
id: batteryProgress
|
||||
anchors.centerIn: parent
|
||||
vertical: true
|
||||
valueBarWidth: 21
|
||||
valueBarHeight: 40
|
||||
valueBarWidth: 20
|
||||
valueBarHeight: 36
|
||||
value: percentage
|
||||
// value: 1
|
||||
highlightColor: (isLow && !isCharging) ? Appearance.m3colors.m3error : Appearance.colors.colOnSecondaryContainer
|
||||
|
||||
font {
|
||||
pixelSize: text.length > 2 ? 11 : 13
|
||||
weight: text.length > 2 ? Font.Medium : Font.DemiBold
|
||||
pixelSize: 13
|
||||
weight: Font.DemiBold
|
||||
}
|
||||
|
||||
textMask: Item {
|
||||
@@ -36,20 +37,29 @@ MouseArea {
|
||||
width: batteryProgress.valueBarWidth
|
||||
height: batteryProgress.valueBarHeight
|
||||
|
||||
ColumnLayout {
|
||||
Column {
|
||||
anchors.centerIn: parent
|
||||
spacing: 0
|
||||
spacing: -4
|
||||
|
||||
MaterialSymbol {
|
||||
id: boltIcon
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
fill: 1
|
||||
text: isCharging ? "bolt" : Icons.getBatteryIcon(Battery.percentage * 100)
|
||||
text: {
|
||||
if (batteryProgress.value == 1) {
|
||||
return "check";
|
||||
} else if (root.isCharging) {
|
||||
return "bolt";
|
||||
} else {
|
||||
return Icons.getBatteryIcon(Battery.percentage * 100);
|
||||
}
|
||||
}
|
||||
iconSize: Appearance.font.pixelSize.normal
|
||||
animateChange: true
|
||||
}
|
||||
StyledText {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
visible: text.length <= 2
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
font: batteryProgress.font
|
||||
text: batteryProgress.text
|
||||
}
|
||||
|
||||
@@ -140,13 +140,6 @@ Item { // Bar content region
|
||||
Layout.fillHeight: false
|
||||
}
|
||||
|
||||
HorizontalBarSeparator {}
|
||||
|
||||
VerticalDateWidget {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: false
|
||||
}
|
||||
|
||||
HorizontalBarSeparator {
|
||||
visible: Battery.available
|
||||
}
|
||||
|
||||
@@ -8,26 +8,44 @@ import qs.modules.ii.bar as Bar
|
||||
Item {
|
||||
id: root
|
||||
property bool borderless: Config.options.bar.borderless
|
||||
implicitHeight: clockColumn.implicitHeight
|
||||
implicitHeight: column.implicitHeight
|
||||
implicitWidth: Appearance.sizes.verticalBarWidth
|
||||
|
||||
ColumnLayout {
|
||||
id: clockColumn
|
||||
anchors.centerIn: parent
|
||||
spacing: 0
|
||||
readonly property string dateTimeString: DateTime.time
|
||||
readonly property bool hasAmPm: dateTimeString.toLowerCase().includes("am") || dateTimeString.toLowerCase().includes("pm")
|
||||
|
||||
Repeater {
|
||||
model: DateTime.time.split(/[: ]/)
|
||||
delegate: StyledText {
|
||||
required property string modelData
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
font.pixelSize: modelData.match(/am|pm/i) ?
|
||||
Appearance.font.pixelSize.smaller // Smaller "am"/"pm" text
|
||||
: Appearance.font.pixelSize.large
|
||||
color: Appearance.colors.colOnLayer1
|
||||
text: modelData.padStart(2, "0")
|
||||
Column {
|
||||
id: column
|
||||
anchors.centerIn: parent
|
||||
spacing: root.hasAmPm ? 6 : 0
|
||||
|
||||
Column {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: -4
|
||||
|
||||
Repeater {
|
||||
model: root.dateTimeString.split(/[: ]/)
|
||||
delegate: StyledText {
|
||||
required property string modelData
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
font.pixelSize: {
|
||||
if (modelData.match(/am|pm/i))
|
||||
return Appearance.font.pixelSize.smaller;
|
||||
else
|
||||
// Smaller "am"/"pm" text
|
||||
return Appearance.font.pixelSize.large;
|
||||
}
|
||||
color: Appearance.colors.colOnLayer1
|
||||
text: modelData.padStart(2, "0")
|
||||
}
|
||||
}
|
||||
}
|
||||
StyledText {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
font.pixelSize: Appearance.font.pixelSize.smallest
|
||||
color: Appearance.colors.colOnLayer1
|
||||
text: DateTime.shortDate
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
import qs.modules.common
|
||||
import qs.modules.common.widgets
|
||||
import qs.services
|
||||
import QtQuick
|
||||
import QtQuick.Shapes
|
||||
import QtQuick.Layouts
|
||||
import qs.modules.ii.bar as Bar
|
||||
|
||||
Item { // Full hitbox
|
||||
id: root
|
||||
|
||||
implicitHeight: content.implicitHeight
|
||||
implicitWidth: Appearance.sizes.verticalBarWidth
|
||||
property var dayOfMonth: DateTime.shortDate.split(/[-\/]/)[0] // What if 🍔murica🦅? good question
|
||||
property var monthOfYear: DateTime.shortDate.split(/[-\/]/)[1]
|
||||
|
||||
Item { // Boundaries for date numbers
|
||||
id: content
|
||||
anchors.centerIn: parent
|
||||
implicitWidth: 24
|
||||
implicitHeight: 30
|
||||
|
||||
Shape {
|
||||
id: diagonalLine
|
||||
property real padding: 4
|
||||
anchors.fill: parent
|
||||
preferredRendererType: Shape.CurveRenderer
|
||||
|
||||
ShapePath {
|
||||
strokeWidth: 1.2
|
||||
strokeColor: Appearance.colors.colSubtext
|
||||
fillColor: "transparent"
|
||||
startX: content.width - diagonalLine.padding
|
||||
startY: diagonalLine.padding
|
||||
PathLine {
|
||||
x: diagonalLine.padding
|
||||
y: content.height - diagonalLine.padding
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
id: dayText
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
}
|
||||
font.pixelSize: 13
|
||||
color: Appearance.colors.colOnLayer1
|
||||
text: dayOfMonth
|
||||
}
|
||||
|
||||
StyledText {
|
||||
id: monthText
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
}
|
||||
font.pixelSize: 13
|
||||
color: Appearance.colors.colOnLayer1
|
||||
text: monthOfYear
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
]4;0;#$term0 #\]1;0;#$term0 #\]4;1;#$term1 #\]4;2;#$term2 #\]4;3;#$term3 #\]4;4;#$term4 #\]4;5;#$term5 #\]4;6;#$term6 #\]4;7;#$term7 #\]4;8;#$term8 #\]4;9;#$term9 #\]4;10;#$term10 #\]4;11;#$term11 #\]4;12;#$term12 #\]4;13;#$term13 #\]4;14;#$term14 #\]4;15;#$term15 #\]10;#$term7 #\]11;[100]#$term0 #\]12;#$term7 #\]13;#$term7 #\]17;#$term7 #\]19;#$term0 #\]4;232;#$term7 #\]4;256;#$term7 #\]708;[100]#$term0 #\]11;#$term0 #\
|
||||
]4;0;#$term0 #\]1;0;#$term0 #\]4;1;#$term1 #\]4;2;#$term2 #\]4;3;#$term3 #\]4;4;#$term4 #\]4;5;#$term5 #\]4;6;#$term6 #\]4;7;#$term7 #\]4;8;#$term8 #\]4;9;#$term9 #\]4;10;#$term10 #\]4;11;#$term11 #\]4;12;#$term12 #\]4;13;#$term13 #\]4;14;#$term14 #\]4;15;#$term15 #\]4;232;#$term7 #\]4;255;#$primary #\]4;254;#$primaryContainer #\]4;253;#$secondary #\]4;252;#$secondaryContainer #\]4;251;#$tertiary #\]4;250;#$tertiaryContainer #\]4;249;#$error #\]4;248;#$errorContainer #\]4;232;#$onPrimary #\]4;233;#$onPrimaryContainer #\]4;234;#$onSecondary #\]4;235;#$onSecondaryContainer #\]4;236;#$onTertiary #\]4;237;#$onTertiaryContainer #\]4;238;#$onError #\]4;239;#$onErrorContainer #\]4;240;#$onPrimary #\]4;243;#$primary #\]4;244;#$error #\]4;245;#$outlineVariant #\]10;#$term7 #\]11;[100]#$term0 #\]12;#$term7 #\]13;#$term7 #\]17;#$term7 #\]19;#$term0 #\]708;[100]#$term0 #
|
||||
Reference in New Issue
Block a user