Review Request: Fancy-schmancy Kickoff layout tricks for dissident panel placements

Aaron Seigo aseigo at kde.org
Thu Mar 6 01:02:06 CET 2008


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://mattr.info/r/224/#review249
-----------------------------------------------------------

Ship it!


i'm really on the fence with the tab re-ordering. but we have time between now and 4.1 to get tester feedback, and it's easy to change with this patch.

no idea about the sw/se resize behaviour on vert panels; the code looks proper to me. 

it would be good to get this into svn though given the size of the patch and minor nature of the remaining issue.

- Aaron


On 2008-03-05 14:38:21, Will Stephenson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://mattr.info/r/224/
> -----------------------------------------------------------
> 
> (Updated 2008-03-05 14:38:21)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> KDE 3 Kickoff amends its layout according to the direction the popup is appearing relative to the launcher button.  This patch adds this to KDE 4 kickoff and extends this behaviour to improve the ergonomics of kickoff when its launcher is not in the standard position.  This was a TODOs for KDE 3 kickoff that never got done.
> 
> from Launcher::setLauncherOrigin(): (ui/launcher.cpp)
> 
> Determines optimum layout according to Fitt's Law: (isn't invoking Fitt's law turning into a special case of Godwin's law for usability applications?)
> 
> Assumption 1: The hardcoded tab order defines a desirable priority order
> Goal 1: TabBar alignment is perpendicular to direction of mouse travel from launcher to target, to prevent mousing over non-target tabs and potential unnecessary tab switches
> Goal 2 the movie: Tabs are ordered by decreasing priority along the mouse travel vector away from the launcher
> Constraint: The search widget is different to the tabs and the footer is of lowest priority so these should always be situated furthest away from the origin
> 
> This gives vertical tabs when Kickoff is used in a vertical panel, and it reorders the tabs so the Favourites tab is always closest to the launcher, etc.
> 
> NB I haven't hacked the paint code to draw the tabs in non-South layouts yet, I suck at painting and maybe someone else who doesn't would be able to write this elegantly.
> 
> *** Diff updated to not reorder tabs, and to farm out tab painter path to a utility method as suggested ***
> 
> *** Diff updated for trunk
>     resize handles placed correctly for orientation 
>     Tab reordering back on for now
>     Strange bug with vertical panel and SW/SE launcher causes launcher to slide offscreen during resize - any ideas?
> ***
> 
> 
> Diffs
> -----
> 
>   trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.cpp
>   trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.h
> 
> Diff: http://mattr.info/r/224/diff
> 
> 
> Testing
> -------
> 
> 
> Screenshots
> -----------
> 
> Launcher northwest, panel TopEdge
>   http://mattr.info/r/224/s/21/
> Launcher SE, panel BottomEdge
>   http://mattr.info/r/224/s/22/
> Launcher NE, panel RightEdge (my desktop layout)
>   http://mattr.info/r/224/s/23/
> Launcher NW, panel LeftEdge
>   http://mattr.info/r/224/s/24/
> Fixed tab order, horizontal panels (composite image)
>   http://mattr.info/r/224/s/25/
> Fixed tab order, vertical panels (composite image)
>   http://mattr.info/r/224/s/26/
> kicker --reverse, horizontal panels, fixed tab order
>   http://mattr.info/r/224/s/27/
> plasma --reverse, vertical panels, fixed tab order
>   http://mattr.info/r/224/s/28/
> 
> 
> Thanks,
> 
> Will
> 
>



More information about the Panel-devel mailing list