Quicklaunch QML porting questions

Ingomar Wesp ingomar at wesp.name
Wed Jan 18 22:32:10 UTC 2012


Hi!

I'm about to start porting the quicklaunch applet to QML. Since I'm just
getting started with QML and the JavaScript API, I'm still unsure as to
what's possible, so please bear with me if I'm missing something that's
completely obvious.

Judging from what I've read and tried so far, there seem to be two ways
to go:

1) Create a pure QML plasmoid and put most of the logic into a
dataengine and services (i.e. let each of the dataengine's sources act
as a model containing the launchers for a quicklaunch applet). This
approach would allow other applications/applets access to the lists of
launchers (which might or might not make sense) and it provides for a
reasonably clean separation of logic and user interface.

However, the applet itself needs to provide access to dialogs that do
not seem to be available from the JavaScript API (KOpenWithDialog and
KPropertiesDialog). Even if it's possible to instantiate them from
a service (it it?), this seems to be a very bad idea.

2) Create a hybrid plasmoid that uses QML for most of the UI and a C++
QML extension for the parts that I can't do with JS. Considering that I
need C++ for the two dialogs anyway, maybe supplying the applet
with a local model is a cleaner approach than using a DataEngine at all
(since it might not make sense to even provide global access to the
launchers that are shown in the various applets).

Maybe there are other options? Anything (apart from the documentation on
techbase) that should have a look at?

Best regards,
-- Ingo



More information about the Plasma-devel mailing list