summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatasof Wirapraja <anatasof.wirapraja@gmail.com>2023-02-22 19:24:32 +0700
committerAnatasof Wirapraja <anatasof.wirapraja@gmail.com>2023-02-22 19:24:32 +0700
commitfb7f1d8c6611f2220de7cb74207054e7c8a95968 (patch)
tree76bb2192fb1e15d57e6ee2aa4f77b415a78de6fd
parentf85053146108267bb9c0720ae872e99f3dd5773b (diff)
add busy loader (generic design for now)
-rw-r--r--BusyLoader.qml59
1 files changed, 59 insertions, 0 deletions
diff --git a/BusyLoader.qml b/BusyLoader.qml
new file mode 100644
index 0000000..6bfc28f
--- /dev/null
+++ b/BusyLoader.qml
@@ -0,0 +1,59 @@
+import QtQuick 2.12
+import QtQuick.Controls 2.12
+
+BusyIndicator {
+ id: spinning
+
+ contentItem: Item {
+ implicitWidth: 64
+ implicitHeight: 64
+
+ Item {
+ id: loader
+ x: parent.width / 2 - 32
+ y: parent.height / 2 - 32
+ width: 64
+ height: 64
+ opacity: control.running ? 1 : 0
+
+ Behavior on opacity {
+ OpacityAnimator {
+ duration: 250
+ }
+ }
+
+ RotationAnimator {
+ target: item
+ running: control.visible && control.running
+ from: 0
+ to: 360
+ loops: Animation.Infinite
+ duration: 1250
+ }
+
+ Repeater {
+ id: repeater
+ model: 6
+
+ Rectangle {
+ x: item.width / 2 - width / 2
+ y: item.height / 2 - height / 2
+ implicitWidth: 10
+ implicitHeight: 10
+ radius: 5
+ color: "#0555a1"
+ transform: [
+ Translate {
+ y: -Math.min(item.width, item.height) * 0.5 + 5
+ },
+ Rotation {
+ angle: index / repeater.count * 360
+ origin.x: 5
+ origin.y: 5
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file