today's meeting notes

Marco Martin notmart at gmail.com
Mon Sep 13 16:10:54 CEST 2010


On Monday 13 September 2010, Artur de Souza wrote:
> Quoting Marco Martin <notmart at gmail.com>:
> > well, not really faster, since the binding of the widgets is exactly the
> > only part that right now is finished and working perfectly.
> > the problem as usual, is the layouting, bad interaction between the qgw
> > based ones and qdi based ones, but at least is possible to obtain decent
> > results using only, or almost only qgw based ones (i still fear the lack
> > of a real layout system and size hints is going to bite really hard,
> > especially on non- mobile)
> 
> Yes, layouting and a lot of other things that are not working well
> with qgw. Alexis did a really amazing job on this when he was working
> with QML but this is no longer maintained and keeping the hope that
> it's going to work is just "false hope" unfortunately :(.

yes, the binding for layouts is in plasma sources directly.
now i'm not sure if it's less painful using qgws with the qml anchors (yes, it 
does work, the root element has to have an hardcoded size tough) or relying on 
the layout bindings fork, but, even if our widget are going to be redone in 
the future (yes i know what will happen to qgraphicsview) redoing it right now 
means:
- it's not going to be done for 4.6 (or even 4.7 or 4.8)
- while could be almost perfect(tm) for the mobile case it's not going to be 
good enough for the desktop, because they are going to behave slightly 
different from the other widgets, even if they are mimicking the other ones. 
for instance text areas won't have context menus (i don't think it's possible 
at all in qml?) pushbuttons won't have the exact same behaviour and 
capabilites, to reimplement the pushbutton/toggebutton/toolbutton/button with 
menu is going to be a big amount of work.
now, maybe when qtcomponents will be ready it could be decided to just use 
those widgets, again if they will be good enough for the desktop.

Or alternatively we can also decide that we really need to wait for them ad 
delay the complete bindings at this point, but wouldn't seem a particularly 
wise move for me, also because would basically mean plasma mobile not 
happening.

until then, a solution already is in there, judging from a couple of pretty 
complex uis i did with it, works quite good, so i don't much see the point of 
all of this discussion, because the real problem is one and completely 
unrelated: the use of the private class for dataengine bindings.

> The problem with creating qdi based ones is that we can suffer of the
> proxy->proxy problem. The KDE-pim guys tried this and it just made
> things worse. To properly do this you almost have to duplicate what
> qgraphicsproxywidget does. So, it's really easier to just change the
> way we do widgets. It has been some months now that we tried different
> approaches and going a step back will allow us to go two further later,
> 
> > would probably just be needed a qdi subclass that can draw svg and
> > framesvg, to be used in place of the rather ugly BorderImage. Theme
> > colors are already binded
> 
> This may be needed, but I thought that svg was supported on qml already...
> 
some considerations about technical minutiae of svg/framesvg vs 
image/borderimage:

yep, it does, Image and BorderImage can have a svg as source
tough there again i'm not sure either the right approach is done or is done 
the one good for us.
as far i see from the sources a caching seems involved 
(qdeclarativepixmapcache), but looks like only memory and no svg renderer 
sharing, i could be wrong.

it is not possible to access to sub elements, so no rendering of a single 
eleent or checking for the hint elements (thats all out of scope for the svg 
rendering of qml i think, so i don't think it would even make sense trying of 
making qml svg support more sofisticate)

it is also not possible to have a borderimage that gets elements of an svg 
with a certain prefix, it only gets the whole image, all of this it would make 
impossible to use current themes, in brief break compatibility of wat there is 
already in.


Cheers,
Marco Martin


More information about the Plasma-devel mailing list