Allow QtQuick applets and wallpapers to defer UiReadyConstraint
AbandonedPublic

Authored by davidedmundson on Jun 6 2019, 1:06 PM.

Details

Reviewers
apol
Group Reviewers
Plasma
Summary

Plasma applets when they were all C++ had a way for them to signal when
they were ready for showing to the user.

The QtQuick plugin does it automatically when an applet is compiled and
the component is created with no scope for the applet to do something
async.

This is initially intended just for the desktop wallpaper, but is
generic enough for any applet/containment that does async loading on
startup.

API is chosen as we need something ref-count based to handle wallpaper
and containment both loading something asynchronous, and limited by the
fact that AppletInterface is not exported.

Test Plan

qDebug

Diff Detail

Repository
R242 Plasma Framework (Library)
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 12476
Build 12494: arc lint + arc unit
davidedmundson created this revision.Jun 6 2019, 1:06 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptJun 6 2019, 1:06 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
davidedmundson requested review of this revision.Jun 6 2019, 1:06 PM

I wonder if that's the right API to use from QML, I guess it's fine but marking something as successful by assigning null could feel odd?

apol accepted this revision.Jun 13 2019, 1:05 AM

Thought about it a bit more, it should be okay.

This revision is now accepted and ready to land.Jun 13 2019, 1:05 AM
broulik added inline comments.
src/scriptengines/qml/plasmoid/appletinterface.cpp
172

In my case this code path is hit before any of the QML property assignments or Component.onCompletd are executed. I don't really understand why given AppletQuickItem::init() does forceCompletion()

davidedmundson planned changes to this revision.Jun 13 2019, 6:20 PM

Will make new and improved version

davidedmundson abandoned this revision.Aug 28 2019, 5:35 PM