19 Q_Q(QQuickIndicatorButton);
20 if (indicator.wasExecuted())
23 if (!indicator || complete)
24 quickBeginDeferred(q, indicatorName(), indicator);
26 quickCompleteDeferred(q, indicatorName(), indicator);
34QQuickIndicatorButton::~QQuickIndicatorButton()
36 Q_D(QQuickIndicatorButton);
37 QQuickControl *parentControl =
static_cast<QQuickControl *>(parent());
39 QQuickControlPrivate::get(parentControl)->removeImplicitSizeListener(d->indicator);
66void QQuickIndicatorButton::setIndicator(QQuickItem *indicator)
68 Q_D(QQuickIndicatorButton);
69 if (d->indicator == indicator)
72 if (!d->indicator.isExecuting())
75 const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
76 const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
78 QQuickControl *par =
static_cast<QQuickControl *>(parent());
79 QQuickControlPrivate::warnIfCustomizationNotSupported(par, indicator, QStringLiteral(
"indicator"));
81 QQuickControlPrivate::get(par)->removeImplicitSizeListener(d->indicator);
82 QQuickControlPrivate::hideOldItem(d->indicator);
83 d->indicator = indicator;
86 if (!indicator->parentItem())
87 indicator->setParentItem(par);
88 QQuickControlPrivate::get(par)->addImplicitSizeListener(indicator);
91 if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
92 emit implicitIndicatorWidthChanged();
93 if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
94 emit implicitIndicatorHeightChanged();
95 if (!d->indicator.isExecuting())
96 emit indicatorChanged();