--===============2134581873== Content-Type: multipart/alternative; boundary="===============1555196517616743587==" --===============1555196517616743587== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- 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 a= n 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 currentl= y 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 cont= roller 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 th= e 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 t= he controller, and removed the call to setContainment() from pinchContainme= nt() - 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 114= 3346 = > /trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelcontroller.cpp 1= 143346 = > /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 pan= el, but they seem to have existed before this patch as well. > = > = > Thanks, > = > Anthony > = > --===============1555196517616743587== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://reviewboard.kde= .org/r/4463/ |
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_Accou= nt :)
- Aaron
On June 27th, 2010, 11:52 a.m., Anthony Bryant wrote:
Review request for Plasma.
By Anthony Bryant.
Updated 2010-06-27 11:52:59 Descripti= on
Testing <= /h1>
Diffs=
|