QML and Plasma -> progress()
Marco Martin
notmart at gmail.com
Fri Sep 17 16:26:04 CEST 2010
On Thursday 16 September 2010, Marco Martin wrote:
> Hi all,
> the status of an AppletScript for writing plasmoids in pure QML is
> progressing rather well, i thought to write a detailed status
> report/documentation before significative design problems go too far in
> the implementation, be patient, is really long, but it can be used as a
> basis for a future documentation.
Almost implemented services support (there is a qml nowplaying plasmoid to
test it), but there are two quite ugly problems (that derive from not having
access to the engine):
services:
we need to manipulate kconfiggroup from javascript, but we can't registed the
conversion to scriptvalues: that is valid for any type tht is not a qobject,
oh joy.
at the moment resolved with a function
AppletInterface::setOperationValue(KConfiggroup, key, value)
that's rather ugly.
i was also thinking bout registering an object for operations that would be
declared in qml directly like
ServiceOperation {
id: operation
service: dataEngine.service
operationDescription: "seek"
}
then one would set the operation parameters with something like
operation.setParameter("seconds", 120); operation.start() (because dynamic
properties are not available in qml, so no operation.seconds=120 :/)
second problem:
services support the neat feature of being automatically associated to a
widget, so doing someting like service.associateWidget(stop, "stop");
now, i can call this from the qml javascript, but the thing that gets in the
parameter instead of the widget is some misterious value that i'm not even
sure it started as a pointer (no, it's not a QObject*)
so anohter thing that would not be possible is to pass pointers to the
internal qml items passed by id in an external c++ object.
i see this as another potentially limiting thing.
still have to give a crack to event listeners, that one looks slightly more
feasible
Cheers,
Marco Martin
More information about the Plasma-devel
mailing list