[Bf-blender-cvs] [15d78ea85b6] master: UI: Add reset to default value to keymap

Hans Goudey noreply at git.blender.org
Thu Oct 15 17:02:58 CEST 2020


Commit: 15d78ea85b602cfda4e4b825d44bede71a06d86f
Author: Hans Goudey
Date:   Thu Oct 15 10:02:44 2020 -0500
Branches: master
https://developer.blender.org/rB15d78ea85b602cfda4e4b825d44bede71a06d86f

UI: Add reset to default value to keymap

With all the work on DNA defaults for 2.91, it's nice to expose this
convenient operator. This was already hardcoded in the UI code to the
backspace key, adding it to the keymap instead will make the shortcut
automatically show in the button right click menu.

Differential Revision: https://developer.blender.org/D9219

===================================================================

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	source/blender/editors/interface/interface.c
M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/interface/interface_intern.h

===================================================================

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 0622e9568d1..6674751f9b8 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -715,6 +715,7 @@ def km_user_interface(_params):
         ("anim.driver_button_remove", {"type": 'D', "value": 'PRESS', "ctrl": True, "alt": True}, None),
         ("anim.keyingset_button_add", {"type": 'K', "value": 'PRESS'}, None),
         ("anim.keyingset_button_remove", {"type": 'K', "value": 'PRESS', "alt": True}, None),
+        ("ui.reset_default_button", {"type": 'BACK_SPACE', "value": 'PRESS'}, {"properties": [("all", True)]}),
     ])
 
     return keymap
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index 94b93c11f6c..c2a4465af07 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -3123,23 +3123,6 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str)
   return false;
 }
 
-void ui_but_default_set(bContext *C, const bool all, const bool use_afterfunc)
-{
-  wmOperatorType *ot = WM_operatortype_find("UI_OT_reset_default_button", true);
-
-  if (use_afterfunc) {
-    PointerRNA *ptr = ui_handle_afterfunc_add_operator(ot, WM_OP_EXEC_DEFAULT, true);
-    RNA_boolean_set(ptr, "all", all);
-  }
-  else {
-    PointerRNA ptr;
-    WM_operator_properties_create_ptr(&ptr, ot);
-    RNA_boolean_set(&ptr, "all", all);
-    WM_operator_name_call_ptr(C, ot, WM_OP_EXEC_DEFAULT, &ptr);
-    WM_operator_properties_free(&ptr);
-  }
-}
-
 static double soft_range_round_up(double value, double max)
 {
   /* round up to .., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, ..
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 2c1b6d9f9d5..0cc1932d88c 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -7692,19 +7692,6 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
       break;
   }
 
-  /* reset to default (generic function, only use if not handled by switch above) */
-  /* XXX hardcoded keymap check.... */
-  data = but->active;
-  if (data && data->state == BUTTON_STATE_HIGHLIGHT) {
-    if ((retval == WM_UI_HANDLER_CONTINUE) &&
-        (event->type == EVT_BACKSPACEKEY && event->val == KM_PRESS)) {
-      /* ctrl+backspace = reset active button; backspace = reset a whole array*/
-      ui_but_default_set(C, !event->ctrl, true);
-      ED_region_tag_redraw(data->region);
-      retval = WM_UI_HANDLER_BREAK;
-    }
-  }
-
 #ifdef USE_DRAG_MULTINUM
   if (data) {
     if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE) ||
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index dc1f6cfce50..5da3d9528f8 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -619,8 +619,6 @@ extern uiBut *ui_but_drag_multi_edit_get(uiBut *but);
 void ui_def_but_icon(uiBut *but, const int icon, const int flag);
 void ui_def_but_icon_clear(uiBut *but);
 
-extern void ui_but_default_set(struct bContext *C, const bool all, const bool use_afterfunc);
-
 void ui_but_extra_operator_icons_free(uiBut *but);
 
 extern void ui_but_rna_menu_convert_to_panel_type(struct uiBut *but, const char *panel_type);



More information about the Bf-blender-cvs mailing list