20 Q_Q(QQuickIndicatorButton);
21 if (indicator.wasExecuted())
24 if (!indicator || complete)
25 quickBeginDeferred(q, indicatorName(), indicator);
27 quickCompleteDeferred(q, indicatorName(), indicator);
35QQuickIndicatorButton::~QQuickIndicatorButton()
37 Q_D(QQuickIndicatorButton);
38 QQuickControl *parentControl =
static_cast<QQuickControl *>(parent());
40 QQuickControlPrivate::get(parentControl)->removeImplicitSizeListener(d->indicator);
67void QQuickIndicatorButton::setIndicator(QQuickItem *indicator)
69 Q_D(QQuickIndicatorButton);
70 if (d->indicator == indicator)
73 if (!d->indicator.isExecuting())
76 const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
77 const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
79 QQuickControl *par =
static_cast<QQuickControl *>(parent());
80 QQuickControlPrivate::warnIfCustomizationNotSupported(par, indicator, QStringLiteral(
"indicator"));
82 QQuickControlPrivate::get(par)->removeImplicitSizeListener(d->indicator);
83 QQuickControlPrivate::hideOldItem(d->indicator);
84 d->indicator = indicator;
87 if (!indicator->parentItem())
88 indicator->setParentItem(par);
89 QQuickControlPrivate::get(par)->addImplicitSizeListener(indicator);
92 if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
93 emit implicitIndicatorWidthChanged();
94 if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
95 emit implicitIndicatorHeightChanged();
96 if (!d->indicator.isExecuting())
97 emit indicatorChanged();