[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