AppletQuickItem: Fix finding own attached layout
Regression from 344dbeb938 BUG: 358849 REVIEW: 127073
This commit is contained in:
parent
b6d636cc8f
commit
82e172cc9e
@ -50,7 +50,11 @@ AppletQuickItemPrivate::AppletQuickItemPrivate(Plasma::Applet *a, AppletQuickIte
|
|||||||
applet(a),
|
applet(a),
|
||||||
expanded(false)
|
expanded(false)
|
||||||
{
|
{
|
||||||
if (!a->pluginInfo().isValid()) {
|
}
|
||||||
|
|
||||||
|
void AppletQuickItemPrivate::init()
|
||||||
|
{
|
||||||
|
if (!applet->pluginInfo().isValid()) {
|
||||||
// This `qmlObject` is used in other parts of the code
|
// This `qmlObject` is used in other parts of the code
|
||||||
qmlObject = new KDeclarative::QmlObject(q);
|
qmlObject = new KDeclarative::QmlObject(q);
|
||||||
return;
|
return;
|
||||||
@ -383,6 +387,7 @@ AppletQuickItem::AppletQuickItem(Plasma::Applet *applet, QQuickItem *parent)
|
|||||||
: QQuickItem(parent),
|
: QQuickItem(parent),
|
||||||
d(new AppletQuickItemPrivate(applet, this))
|
d(new AppletQuickItemPrivate(applet, this))
|
||||||
{
|
{
|
||||||
|
d->init();
|
||||||
if (d->applet) {
|
if (d->applet) {
|
||||||
d->appletPackage = d->applet->package();
|
d->appletPackage = d->applet->package();
|
||||||
}
|
}
|
||||||
@ -564,9 +569,6 @@ void AppletQuickItem::init()
|
|||||||
d->compactRepresentationExpander->loadUrl(QUrl::fromLocalFile(compactExpanderPath));
|
d->compactRepresentationExpander->loadUrl(QUrl::fromLocalFile(compactExpanderPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
//HACK: check the Layout properties we wrote
|
|
||||||
QQmlProperty p(this, "Layout.minimumWidth", QtQml::qmlContext(d->qmlObject->rootObject()));
|
|
||||||
|
|
||||||
d->compactRepresentationCheck();
|
d->compactRepresentationCheck();
|
||||||
qmlObject()->engine()->rootContext()->setBaseUrl(qmlObject()->source());
|
qmlObject()->engine()->rootContext()->setBaseUrl(qmlObject()->source());
|
||||||
qmlObject()->engine()->setContextForObject(this, qmlObject()->engine()->rootContext());
|
qmlObject()->engine()->setContextForObject(this, qmlObject()->engine()->rootContext());
|
||||||
@ -726,6 +728,21 @@ QObject *AppletQuickItem::rootItem()
|
|||||||
return d->qmlObject->rootObject();
|
return d->qmlObject->rootObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AppletQuickItem::childEvent(QChildEvent *event)
|
||||||
|
{
|
||||||
|
// Added child may be QQuickLayoutAttached
|
||||||
|
if (event->added() && !d->ownLayout && d->currentRepresentationItem) {
|
||||||
|
// Child has not yet finished initialization at this point
|
||||||
|
QTimer::singleShot(0, this, [this]() {
|
||||||
|
if (!d->ownLayout) {
|
||||||
|
d->connectLayoutAttached(d->currentRepresentationItem);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QQuickItem::childEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
void AppletQuickItem::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
|
void AppletQuickItem::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
|
||||||
{
|
{
|
||||||
Q_UNUSED(oldGeometry)
|
Q_UNUSED(oldGeometry)
|
||||||
|
@ -146,6 +146,7 @@ protected:
|
|||||||
KDeclarative::QmlObject *qmlObject();
|
KDeclarative::QmlObject *qmlObject();
|
||||||
|
|
||||||
//Reimplementation
|
//Reimplementation
|
||||||
|
void childEvent(QChildEvent *event) Q_DECL_OVERRIDE;
|
||||||
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE;
|
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE;
|
||||||
void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE;
|
void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
@ -55,6 +55,8 @@ class AppletQuickItemPrivate
|
|||||||
public:
|
public:
|
||||||
AppletQuickItemPrivate(Plasma::Applet *a, AppletQuickItem *item);
|
AppletQuickItemPrivate(Plasma::Applet *a, AppletQuickItem *item);
|
||||||
|
|
||||||
|
void init();
|
||||||
|
|
||||||
QQuickItem *createCompactRepresentationItem();
|
QQuickItem *createCompactRepresentationItem();
|
||||||
QQuickItem *createFullRepresentationItem();
|
QQuickItem *createFullRepresentationItem();
|
||||||
QQuickItem *createCompactRepresentationExpanderItem();
|
QQuickItem *createCompactRepresentationExpanderItem();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user