QML and Plasma -> progress()

Marco Martin notmart at gmail.com
Thu Oct 7 14:17:40 CEST 2010


On Monday 04 October 2010, Aaron J. Seigo wrote:
> On Monday, October 4, 2010, Marco Martin wrote:
> > * bindings: register in qml the types for plasma graphicswidgets, theme
> > and dataengines. This should be always done asap in the application
> > execution and in every plasma shell, so should go in libplasma as well.
> 
> is this the code in the bindings/ directory? (not counting bindings/phone,
> i suppose :)
> 
> bindings/plasmabindings.h looks rather scary: it includes a bunch of
> private headers, for instance. is this really needed? i see that it is
> #include'd in qmlengine/simplebindings/dataengine.h .. what specifically
> is needed by the qmlengine from that? it would be nice if all that code
> could be kept completely internal to libplasma, wrapped tightly behind the
> scenes of Plasma::DeclarativeWidget.
> 
> as for "where", kdeibs/plasma/qml/ is probably sensible?
> 
> the bindings look like they'll add ~1200 LOC to libplasma. significant
> addition. if/when QtComponents enters the mix, i think it will be time to
> step back and consider doing a libplasma2 that brings some increased order
> to the collection of our widgets (currently QGraphicsProxyWidgets), QML,
> things like applet configuration, etc.

hopefully won't be needed to stuff ~1200 LOC into libplasma. 
i'm changing the bindings to be plugins, since looks like it's how extra qml 
components are intended to be, so all of that cruft can go in runtime as well 
(and libplasma won't grow much ;))

i'm splitting into several plugins, also to make clear what's intended to stay 
and what is more legacy so
org.kde.plasma.graphicswidgets: the current plasma widgets
org.kde.plasma.graphicslayouts: linear and grid layouts: i'm still not happy 
about its existence, but what about  having a org.kde.graphicslayouts 
namespace?

org.kde.plasma.graphics: graphics stuff that is not a graphicswidget: theme 
(still thinking to register it in libplasma), svg, framesvg, svgitem and 
framesvgitem (the latter two are qdeclarativeitems that paint svg and framesvg 
would be needed for instance if we do a qtcomponents set)

org.kde.plasma.core: dataengines, services and everything non graphic we can 
decide to bind

Cheers,
Marco Martin


More information about the Plasma-devel mailing list