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

Aaron Seigo aseigo at kde.org
Tue Feb 26 17:45:22 CET 2008


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


i like the general idea, but i have some reservations. i'm about to bounce it off of celeste.

as for the tab drawing properly, add a method to TabBar that returns a QPainterPath, takes a Position and which for now contains the current PainterPath created on line 126 of tabbar.cpp and i can fill that in with the right stuff once this is finalized and committed.


/trunk/KDE/kdebase/workspace/plasma/applets/kickoff/applet/applet.cpp
<http://mattr.info/r/224/#comment143>

    it's code like this in kickoff that makes me feel that Launcher should just know about it's associated Applet.



/trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.cpp
<http://mattr.info/r/224/#comment144>

    is it worth changing the button order depending on whether it's on the left or right side? this seems to me like it would be somewhat destroy muscle memory usage.
    
    i do agree with the vertical tabs and swapping the tabs/search though.


- Aaron


On 2008-02-26 05:00:51, Will Stephenson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://mattr.info/r/224/
> -----------------------------------------------------------
> 
> (Updated 2008-02-26 05:00:51)
> 
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/applet/applet.cpp
>   /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.h
>   /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.cpp
> 
> 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/
> 
> 
> Thanks,
> 
> Will
> 
>



More information about the Panel-devel mailing list