some work and api design on plasma2
Marco Martin
notmart at gmail.com
Thu Jul 19 17:27:39 UTC 2012
Hi all,
as you know the hardest thing, by far in plasma2 is splitting anything related
to qgraphics* out of libplasma.
that basically means graphics-less Applet, Containment and Corona, and this
will have to happen in time for frameworks5, regardless having a qml2 version
ready or not (i would go as far as putting that as completely secondary and
eventually releasing it only in a second time)
the quantity of work still to be done is huge, and the time not much.
i have now a branch in kdelibs: plasma/mart/simpleapplet
it's a branch of frameworks and had the following work:
corona, containment and applet are for now disabled from build (libplsmaqgv
that's the legacy qgraphics* library doesn't build atm)
there are AbsrtactApplet and AbstractContainment: they are still not finished,
but are intended to be qobject-only versions, with only the logic. all the
other parts in libplasma that were depending from applet or containment are
now using abstractapplet or abstractcontainment.
problem: the old qgv based Applet and Containment should inherit from
AbstractApplet and AbstractContainment, but this means abstract* cannot be
QObjects, but they need some signals and slots (besides needing to be able to
be loaded as plugins: required to be qobject?)
so basically there are 2 options:
a) abstractapplet/containment are not qobjects (exposing a qobject member for
needed signals/slots? kinda ugly)
b) make them qobjects and make Applet/Containment not a subclass but having
abstractapplet as a member property, so that would become a sort of a "model"
(kinda ugly as well)
in both cases it may be needed and a completely separated implementation of
Corona (that in turn poses the same problem, at the moment it has a partial
separation to a CoronaBase class that is following the model b) approach, but
can be changed)
comments? suggestions? volunteers for the work? :p
Cheers,
Marco Martin
More information about the Plasma-devel
mailing list