1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
import QtQuick 2.15
import QtQuick.Templates 2.15 as T
import QtQuick.Controls 2.15
import Theme 1.0
import Misc 1.0
T.ProgressBar {
id: control
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
implicitContentHeight + topPadding + bottomPadding)
contentItem: Item {
id: content
anchors.fill: parent
anchors.margins: bg.border.width
Text {
id: brightText
antialiasing: Mitigations.fontRenderingFix
visible: !control.indeterminate
color: Theme.color.lightorange2
text: Math.round(control.value) + "%"
anchors.centerIn: parent
font.pixelSize: 48
font.family: "HaxrCorp 4089"
}
Text {
id: animationText
visible: control.indeterminate
color: Theme.color.lightorange2
anchors.centerIn: parent
font.pixelSize: 48
Timer {
repeat: true
running: control.indeterminate
triggeredOnStart: true
interval: 500
onTriggered: {
if(animationText.text.length === 4) {
animationText.text = "."
} else {
animationText.text += "."
}
}
}
}
Rectangle {
id: barFill
clip: true
visible: !control.indeterminate
color: Theme.color.lightorange2
width: visualPosition * parent.width
height: parent.height
Text {
id: darkText
x: brightText.x
y: brightText.y
width: brightText.width
height: brightText.height
color: Theme.color.darkorange1
text: brightText.text
font: brightText.font
antialiasing: Mitigations.fontRenderingFix
}
}
}
background: Rectangle {
id: bg
anchors.fill: parent
color: Theme.color.transparent
border.color: Theme.color.lightorange2
border.width: 3
radius: 9
}
}
|