Skip to content
Snippets Groups Projects
Commit b6e833c2 authored by andrey.daragan's avatar andrey.daragan
Browse files

Merge branch 'features-2989' into 'develop'

Features 2989

See merge request !38
parents 43c5b227 326bec3b
No related branches found
No related tags found
1 merge request!38Features 2989
......@@ -28,5 +28,7 @@
<file>widgets/DapMessageBox.qml</file>
<file>widgets/DapMessageBoxForm.ui.qml</file>
<file>DapFont.qml</file>
<file>widgets/DapBusyIndicator.qml</file>
<file>widgets/DapBusyIndicatorForm.ui.qml</file>
</qresource>
</RCC>
import QtQuick 2.2
import QtQuick.Controls 2.0
DapBusyIndicatorForm
{
contentItem:
Item
{
id: busyItem
width: busyIndicatorWidth
height: busyIndicatorHeight
//To set number of indicator point
Repeater
{
id: busyRepeater
model: busyPointNum
Rectangle
{
x: busyItem.width / 2 - width / 2
y: busyItem.height / 2 - height / 2
width: busyPointWidth
height: busyPointHeight
radius: busyPointRounding
opacity: 1
//Add possibility of color animation
Behavior on color
{
ColorAnimation
{
from: busyIndicatorDarkColor
duration: busyIndicatorDelay * busyPointNum
}
}
//Add possibility of scale animation
Behavior on scale
{
ScaleAnimator
{
from: busyPointMaxScale
duration: busyIndicatorDelay * busyPointNum
}
}
//Set next indicator point as transformation of previous
transform:
Rotation
{
origin.x: busyItem.width / 2 - width
origin.y: busyItem.height / 2 - height
angle: index * (360 / busyPointNum)
}
//Timer of every point transformation
Timer
{
id: reset
interval: busyIndicatorDelay * (index)
onTriggered:
{
console.log("reset triggered, index: ", index)
parent.opacity = 1
parent.color = busyIndicatorDarkColor
parent.scale = busyPointMaxScale
reset2.start()
}
onRunningChanged:
{
if(running) console.log("reset start, index: ", index)
else console.log("reset stop, index: ", index)
}
}
//Timer of point transformation at one position
Timer
{
id: reset2
interval: busyIndicatorDelay
onTriggered:
{
console.log("reset2 triggered, index: ", index)
parent.opacity = 1
parent.color = busyIndicatorLightColor
parent.scale = busyPointMinScale
}
onRunningChanged:
{
if(running) console.log("reset2 start, index: ", index)
else console.log("reset2 stop, index: ", index)
}
}
//Timer of all busy indicator transformation
Timer
{
id: globalTimer
interval: busyIndicatorDelay * busyPointNum
onTriggered:
{
console.log("globalTimer triggered, index: ", index)
reset.start()
}
triggeredOnStart: true
repeat: true
}
Component.onCompleted:
{
globalTimer.start()
}
onVisibleChanged:
{
if(!visible)
{
globalTimer.stop();
reset.stop();
reset2.stop();
}
}
}
}
}
onRunningChanged:
{
if(running)
{
console.log("running all")
}
else console.log("stop all")
}
}
import QtQuick 2.2
import QtQuick.Controls 2.0
BusyIndicator
{
///@detalis dapBusy Identificator of dap busy indicator
property alias dapBusy: control
///@detalis busyPointNum Number of rectangle points at busy indicator
property int busyPointNum
///@detalis busyPointRounding Rounding of rectangle points at busy indicator
property int busyPointRounding
///@detalis busyPointWidth Width of rectangle points at busy indicator
property int busyPointWidth
///@detalis busyPointHeight Height of rectangle points at busy indicator
property int busyPointHeight
///@detalis busyPointMinScale Minimum scale of point
property real busyPointMinScale
///@detalis busyPointMaxScale Maximum scale of point
property real busyPointMaxScale
///@detalis busyIndicatorWidth Width of rectangle busy indicator
property int busyIndicatorWidth
///@detalis busyIndicatorHeight Height of rectangle busy indicator
property int busyIndicatorHeight
///@detalis busyIndicatorDelay Delay between busy indicator states
property int busyIndicatorDelay
///@detalis busyIndicatorDarkColor Color of lightest point of busy indicator
property string busyIndicatorDarkColor
///@detalis busyIndicatorLightColor Color of darkest point of busy indicator
property string busyIndicatorLightColor
id: control
visible: running
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment