[Bf-codereview] Zerokey to Delkey for button reset (issue4535083)

blend.factory at gmail.com blend.factory at gmail.com
Wed May 18 11:58:27 CEST 2011


Reviewers: bf-codereview_blender.org,

Description:
I use pen and tablet and sometimes I leave my cursor over some input
field and I try to switch to Camera View by pressing zero. Result is
that I unintentionally reset that field.
That isn't a problem when I reset simple numeric field, but I have
managed to reset quite complex python expressions so I've decided to
change that ZEROKEY to something less used like DELKEY.

I have noticed that this handler does not use default reset operator and
because of that undo doesn't work always after reseting so I have
corrected that.

Please review this at http://codereview.appspot.com/4535083/

Affected files:
   source/blender/editors/interface/interface.c
   source/blender/editors/interface/interface_handlers.c
   source/blender/editors/interface/interface_intern.h


Index: source/blender/editors/interface/interface.c
===================================================================
--- source/blender/editors/interface/interface.c	(revision 36705)
+++ source/blender/editors/interface/interface.c	(working copy)
@@ -1668,17 +1668,9 @@
  	return 0;
  }

-void ui_set_but_default(bContext *C, uiBut *but, short all)
+void ui_set_but_default(bContext *C)
  {
-	/* if there is a valid property that is editable... */
-	if (but->rnapoin.data && but->rnaprop &&  
RNA_property_editable(&but->rnapoin, but->rnaprop)) {
-		int index = (all)? -1 : but->rnaindex;
-		
-		if(RNA_property_reset(&but->rnapoin, but->rnaprop, index)) {
-			/* perform updates required for this property */
-			RNA_property_update(C, &but->rnapoin, but->rnaprop);
-		}
-	}
+	WM_operator_name_call(C, "UI_OT_reset_default_button",  
WM_OP_INVOKE_DEFAULT, NULL);
  }

  static double soft_range_round_up(double value, double max)
Index: source/blender/editors/interface/interface_handlers.c
===================================================================
--- source/blender/editors/interface/interface_handlers.c	(revision 36705)
+++ source/blender/editors/interface/interface_handlers.c	(working copy)
@@ -4443,10 +4443,9 @@
  		}
  		/* reset to default */
  		/* XXX hardcoded keymap check.... */
-		else if(ELEM(event->type, ZEROKEY, PAD0) && event->val == KM_PRESS) {
-			/* ctrl-0 = for arrays, only the active one gets done (vs whole array  
for just 0) */
+		else if(ELEM(event->type, DELKEY, PADPERIOD) && event->val == KM_PRESS) {
  			if (!(ELEM3(but->type, HSVCIRCLE, HSVCUBE, HISTOGRAM)))
-				ui_set_but_default(C, but, !event->ctrl);
+				ui_set_but_default(C);
  		}
  		/* handle menu */
  		else if(event->type == RIGHTMOUSE && event->val == KM_PRESS) {
Index: source/blender/editors/interface/interface_intern.h
===================================================================
--- source/blender/editors/interface/interface_intern.h	(revision 36705)
+++ source/blender/editors/interface/interface_intern.h	(working copy)
@@ -369,7 +369,7 @@
  extern int ui_set_but_string(struct bContext *C, uiBut *but, const char  
*str);
  extern int ui_get_but_string_max_length(uiBut *but);

-extern void ui_set_but_default(struct bContext *C, uiBut *but, short all);
+extern void ui_set_but_default(struct bContext *C);

  extern void ui_set_but_soft_range(uiBut *but, double value);





More information about the Bf-codereview mailing list