-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/4463/#review6314
-----------------------------------------------------------

Ship it!


looks good and the improvement is quite noticeable. great work. i'll commit and 
backport to the 4.5 branch shortly. and yes, please consider getting an svn 
account: http://techbase.kde.org/Contribute/Get_a_SVN_Account

:)

- Aaron


On 2010-06-27 11:52:59, Anthony Bryant wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/4463/
> -----------------------------------------------------------
> 
> (Updated 2010-06-27 11:52:59)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> Resizing a horizontal panel's height or a vertical panel's width currently 
> has some problems, which make it look like the size is randomly adjusting 
> while you drag it.
> The cause turns out to be a sequence of calls resulting in setContainment() 
> being called on every resize:
> 1. Containment::resizeEvent() - from Qt
> 2. ContainmentPrivate::positionPanel()
> 3. Containment::setPos() - to Qt
> 4. Containment::geometryChanged() signal - from Qt
> 5. ViewPrivate::updateSceneRect() slot
> 6. View::sceneRectAboutToChange() signal
> 7. PanelView::pinchContainmentToCurrentScreen() slot
> 8. PanelView::pinchContainment()
> 9. PanelController::setContainment()
> Whenever setContainment() is called, some of the tool buttons in the 
> controller are removed and re-added. Since this happens on every resize 
> event, resizing the panel is very slow and jerky, and if local coordinates 
> from the mouse event are being compared it turns out in the wrong place.
> 
> To fix this, I have used global coordinates to find the new position of the 
> controller, and removed the call to setContainment() from pinchContainment() 
> - it should only be called on initialization afaics.
> 
> Another issue this fixes is to always resize with something, even if the 
> mouse is out of the allowed range. In this case, it bounds the new size to 
> the allowed range, so that resizing past the limit works as expected.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelcontroller.h 1143346 
>   /trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelcontroller.cpp 
> 1143346 
>   /trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelview.cpp 1143346 
> 
> Diff: http://reviewboard.kde.org/r/4463/diff
> 
> 
> Testing
> -------
> 
> Tried moving and resizing both horizontal and vertical panels. I noticed some 
> visible relayouting of the controller and repainting issues in the panel, but 
> they seem to have existed before this patch as well.
> 
> 
> Thanks,
> 
> Anthony
> 
>

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

Reply via email to