UI:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Tue, 16 Jun 2009 01:32:33 +0000 (01:32 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Tue, 16 Jun 2009 01:32:33 +0000 (01:32 +0000)
Revert revision #20879:
Enable non reordering menus option, it was disabled without explanation (?).

This changed the order of all header menus with the header at the bottom,
this doesn't seem acceptable to me. Additionaly, it doesn't make sense to
me that this would be the same option as the toolbox shape, they should be
separate options.

Here's the rationale from 2005 by Ton:

I didn't add the commenting out of correcting pulldown menu order, which
is based on location of the originating button in the UI. This uncommenting
didn't solve anything, since button definitions itself can be flipped too.
(Example: the data brose menus in top bar need to be corrected).

I can imagine the order flipping is sometimes annoying, but it still has
reasons to be there;
- the most important / most used items are always closest to the mouse.
  (like opening properties panel, or "Add new" for material.
- it follows muscle memory and 'locus of attention' (mouse position).
- menus are configured to open to the top for bottom headers, and to the
  bottom for top headers. We can expect the UI is configured consistantly
  for headers, so in general the menus will appear consistant as well.

Where menu flipping fails is especially for alphabetic listings, like in
the menu button of fileselect. However, that one should be configured to
open by default to the bottom, so ordering is consistant as well.

source/blender/editors/interface/interface.c

index 99c520db7b876947a0ae27a4d402906cbeedb05b..83c9fc2ac2db62a9c7c27be5fc83503fa7c9c9c9 100644 (file)
@@ -2850,8 +2850,8 @@ void uiBlockFlipOrder(uiBlock *block)
        uiBut *but, *next;
        float centy, miny=10000, maxy= -10000;
 
-       if(U.uiflag & USER_PLAINMENUS)
-               return;
+       /*if(U.uiflag & USER_PLAINMENUS)
+               return;*/
        
        for(but= block->buttons.first; but; but= but->next) {
                if(but->flag & UI_BUT_ALIGN) return;