/* blueROCK - for digital rock Copyright (C) 2019 Dorian Zedler This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ import QtQuick 2.3 import QtQuick.Controls 2.4 //import QtQuick.Controls.Styles 1.4 BusyIndicator { id: control property double animationSpeed: 1000 property double formFactor: 4.5 property color lineColor: "#21be2b" contentItem: Item { implicitWidth: 64 implicitHeight: 64 Item { id: item anchors.fill: parent property int currentHeight: 0 SequentialAnimation { running: control.running loops: Animation.Infinite NumberAnimation { target: item property: "currentHeight" from: 0 to: 800 duration: control.animationSpeed } } Row { anchors.fill: parent spacing: item.width / 9 Repeater { id: repeater model: 5 Rectangle { property double heightMultiplier: Math.abs( Math.sin( ( ((item.currentHeight/100) + (index*(control.formFactor/repeater.model)))) * (Math.PI/8) ) ) anchors.verticalCenter: parent.verticalCenter width: item.width / 9 height: ( heightMultiplier ) * ( item.height - 1 ) + 1 radius: width * 0.5 color: control.lineColor } } } } } }