[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32164] trunk/blender/source/blender/ editors/interface/interface_handlers.c: Fix [#24038] keyboard navigation not working in second level menus

Nathan Letwory nathan at letworyinteractive.com
Tue Sep 28 03:20:39 CEST 2010


Revision: 32164
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32164
Author:   jesterking
Date:     2010-09-28 03:20:36 +0200 (Tue, 28 Sep 2010)

Log Message:
-----------
Fix [#24038] keyboard navigation not working in second level menus
Reported by David Sullivan

Commit #32066 applying patch [#23675] broke keyboard and mouse wheel navigation in menu in deeper levels.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_handlers.c

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2010-09-28 00:14:02 UTC (rev 32163)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2010-09-28 01:20:36 UTC (rev 32164)
@@ -5498,8 +5498,8 @@
 							but= ui_but_find_activated(ar);
 							if(but) {
 								/* is there a situation where UI_LEFT or UI_RIGHT would also change navigation direction? */
-								/* UI_TOP and UI_DOWN are inconsistant - should be UI_UP and UI_DOWN or UI_TOP and UI_BOTTOM */
 								if(	((ELEM(event->type, DOWNARROWKEY, WHEELDOWNMOUSE)) && (block->direction & UI_DOWN)) ||
+									((ELEM(event->type, DOWNARROWKEY, WHEELDOWNMOUSE)) && (block->direction & UI_RIGHT)) ||
 									((ELEM(event->type, UPARROWKEY, WHEELUPMOUSE)) && (block->direction & UI_TOP))
 								) {
 									/* the following is just a hack - uiBut->type set to BUT and BUTM have there menus built 
@@ -5522,6 +5522,7 @@
 
 							if(!but) {
 								if(	((ELEM(event->type, UPARROWKEY, WHEELUPMOUSE)) && (block->direction & UI_DOWN)) ||
+									((ELEM(event->type, UPARROWKEY, WHEELUPMOUSE)) && (block->direction & UI_RIGHT)) ||
 									((ELEM(event->type, DOWNARROWKEY, WHEELDOWNMOUSE)) && (block->direction & UI_TOP))
 								) {
 									if(ui_but_first(block)->type & BUT)
@@ -5534,7 +5535,7 @@
 										bt= ui_but_first(block);
 									else
 										bt= ui_but_last(block);
-							   }
+								}
 
 								if(bt)
 									ui_handle_button_activate(C, ar, bt, BUTTON_ACTIVATE);
@@ -5546,25 +5547,25 @@
 
 					break;
 
-				case ONEKEY: 	case PAD1: 
+				case ONEKEY:	case PAD1:
 					act= 1;
-				case TWOKEY: 	case PAD2: 
+				case TWOKEY:	case PAD2:
 					if(act==0) act= 2;
-				case THREEKEY: 	case PAD3: 
+				case THREEKEY:	case PAD3:
 					if(act==0) act= 3;
-				case FOURKEY: 	case PAD4: 
+				case FOURKEY:	case PAD4:
 					if(act==0) act= 4;
-				case FIVEKEY: 	case PAD5: 
+				case FIVEKEY:	case PAD5:
 					if(act==0) act= 5;
-				case SIXKEY: 	case PAD6: 
+				case SIXKEY:	case PAD6:
 					if(act==0) act= 6;
-				case SEVENKEY: 	case PAD7: 
+				case SEVENKEY:	case PAD7:
 					if(act==0) act= 7;
-				case EIGHTKEY: 	case PAD8: 
+				case EIGHTKEY:	case PAD8:
 					if(act==0) act= 8;
-				case NINEKEY: 	case PAD9: 
+				case NINEKEY:	case PAD9:
 					if(act==0) act= 9;
-				case ZEROKEY: 	case PAD0: 
+				case ZEROKEY:	case PAD0:
 					if(act==0) act= 10;
 				
 					if((block->flag & UI_BLOCK_NUMSELECT) && event->val==KM_PRESS) {





More information about the Bf-blender-cvs mailing list