-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/296/
-----------------------------------------------------------

Review request for Plasma.


Summary
-------

Currently, offscreen widgets are managed by a QGraphicsGridLayout in the 
topleft quadrant of the scene. This brings some issues though:
* As we know, QGL's have some known issues. Working with them can sometimes be 
a little fragile, and there are workarounds in the code (in popupapplet for 
example) to work around problems with them.
* Each time a widget changes size, other offscreen widgets inevitably move, 
forcing all top level views to reposition and redraw themselves. When this 
happens you can notice a slight lag.
* I've seen screenshots of a problem where certain widgets partly overlap in a 
toplevel view. This might have been a temporary bug, or something that happens 
rarely, but I think it demonstrates the fragile nature of the current approach.

Out of curiosity, I've tried experimenting with a different approach. With this 
patch, corona will position each offscreen widget in their own reserved sector 
with a size of QMAXWIDGETSIZE. This way, each widget can grow and shrink 
without influencing others, and it will never require us to work around layout 
bugs. After some changes to extenderitem (since it assumed it would always be 
resized after moving offscreen, which was the case before), this works quite 
good actually. It feels snappier while dragging extender items around, and the 
code looks simpler and less hacky.

This is a change with more impact then your avarage bugfix though, so I would 
like to now what you think of this new offscreen widget implementation.


Diffs
-----

  /trunk/KDE/kdelibs/plasma/corona.cpp
  /trunk/KDE/kdelibs/plasma/extender.cpp
  /trunk/KDE/kdelibs/plasma/extenderitem.cpp
  /trunk/KDE/kdelibs/plasma/popupapplet.cpp
  /trunk/KDE/kdelibs/plasma/private/extenderitem_p.h

Diff: http://reviewboard.vidsolbach.de/r/296/diff


Testing
-------


Thanks,

Rob

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to