aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/fusion/qquickfusionbusyindicator.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-01-11 13:29:23 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2018-01-11 13:28:19 +0000
commit589d52b3b64a4b5221738a28df08be2eae4d12b2 (patch)
tree070662b7a0c46beb23fd195ad2a2c03fd91aad5b /src/imports/controls/fusion/qquickfusionbusyindicator.cpp
parent772c01c0ced1c3420b2c8fb3ec4b4bbc898b7d6a (diff)
Fusion: eliminate internal IDs to enable deferred execution
Task-number: QTBUG-65341 Change-Id: I3bfd36f1d1e275eb507184c376599aa7751a069e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/fusion/qquickfusionbusyindicator.cpp')
-rw-r--r--src/imports/controls/fusion/qquickfusionbusyindicator.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/imports/controls/fusion/qquickfusionbusyindicator.cpp b/src/imports/controls/fusion/qquickfusionbusyindicator.cpp
index 7254b7b7..f5c92010 100644
--- a/src/imports/controls/fusion/qquickfusionbusyindicator.cpp
+++ b/src/imports/controls/fusion/qquickfusionbusyindicator.cpp
@@ -59,11 +59,22 @@ void QQuickFusionBusyIndicator::setColor(const QColor &color)
update();
}
+bool QQuickFusionBusyIndicator::isRunning() const
+{
+ return isVisible();
+}
+
+void QQuickFusionBusyIndicator::setRunning(bool running)
+{
+ if (running)
+ setVisible(true);
+}
+
void QQuickFusionBusyIndicator::paint(QPainter *painter)
{
const qreal w = width();
const qreal h = height();
- if (w <= 0 || h <= 0 || !isVisible())
+ if (w <= 0 || h <= 0 || !isRunning())
return;
const qreal sz = qMin(w, h);
@@ -87,4 +98,12 @@ void QQuickFusionBusyIndicator::paint(QPainter *painter)
painter->drawArc(bounds, 0, 20 * 16);
}
+void QQuickFusionBusyIndicator::itemChange(ItemChange change, const ItemChangeData &data)
+{
+ QQuickPaintedItem::itemChange(change, data);
+
+ if (change == ItemOpacityHasChanged && qFuzzyIsNull(data.realValue))
+ setVisible(false);
+}
+
QT_END_NAMESPACE