diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2018-01-11 13:29:23 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-01-11 13:28:19 +0000 |
commit | 589d52b3b64a4b5221738a28df08be2eae4d12b2 (patch) | |
tree | 070662b7a0c46beb23fd195ad2a2c03fd91aad5b /src/imports/controls/fusion/qquickfusionbusyindicator.cpp | |
parent | 772c01c0ced1c3420b2c8fb3ec4b4bbc898b7d6a (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.cpp | 21 |
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 |