[Bf-blender-cvs] [6dd9e08051d] master: Keymap: gizmos now use a map that optionally activates on press

Campbell Barton noreply at git.blender.org
Fri Jun 7 04:17:16 CEST 2019


Commit: 6dd9e08051d20e0c673660b2826470965e1eb8ca
Author: Campbell Barton
Date:   Fri Jun 7 11:45:50 2019 +1000
Branches: master
https://developer.blender.org/rB6dd9e08051d20e0c673660b2826470965e1eb8ca

Keymap: gizmos now use a map that optionally activates on press

The legacy keymap now activates on press.

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

M	release/scripts/presets/keyconfig/blender_27x.py
M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
M	source/blender/editors/space_image/space_image.c
M	source/blender/editors/space_node/node_gizmo.c
M	source/blender/editors/space_view3d/view3d_gizmo_armature.c
M	source/blender/editors/space_view3d/view3d_gizmo_camera.c
M	source/blender/editors/space_view3d/view3d_gizmo_empty.c
M	source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
M	source/blender/editors/space_view3d/view3d_gizmo_light.c
M	source/blender/editors/transform/transform_gizmo_3d.c
M	source/blender/editors/transform/transform_gizmo_extrude_3d.c
M	source/blender/windowmanager/gizmo/WM_gizmo_api.h
M	source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c

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

diff --git a/release/scripts/presets/keyconfig/blender_27x.py b/release/scripts/presets/keyconfig/blender_27x.py
index eb630482393..052f5dd706a 100644
--- a/release/scripts/presets/keyconfig/blender_27x.py
+++ b/release/scripts/presets/keyconfig/blender_27x.py
@@ -56,6 +56,7 @@ def load():
             use_mouse_emulate_3_button=prefs.inputs.use_mouse_emulate_3_button,
             spacebar_action='SEARCH',
             use_select_all_toggle=True,
+            use_gizmo_drag=False,
             legacy=True,
         ),
     )
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 5de9b7569f8..374a70b7600 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -44,6 +44,8 @@ class Params:
         "spacebar_action",
         # Key toggles selection with 'A'.
         "use_select_all_toggle",
+        # Activate gizmo on drag (which support it).
+        "use_gizmo_drag",
         # Use pie menu for tab by default (swap 'Tab/Ctrl-Tab').
         "use_v3d_tab_menu",
         # Use extended pie menu for shading.
@@ -63,6 +65,7 @@ class Params:
             # User preferences.
             spacebar_action='TOOL',
             use_select_all_toggle=False,
+            use_gizmo_drag=True,
             use_v3d_tab_menu=False,
             use_v3d_shade_ex_pie=False,
             use_pie_click_drag=False,
@@ -108,6 +111,8 @@ class Params:
 
         # User preferences
         self.spacebar_action = spacebar_action
+
+        self.use_gizmo_drag = use_gizmo_drag
         self.use_select_all_toggle = use_select_all_toggle
         self.use_v3d_tab_menu = use_v3d_tab_menu
         self.use_v3d_shade_ex_pie = use_v3d_shade_ex_pie
@@ -4755,6 +4760,20 @@ def km_generic_gizmo_click_drag(_params):
     return keymap
 
 
+def km_generic_gizmo_maybe_drag(params):
+    keymap = (
+        "Generic Gizmo Maybe Drag",
+        {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+        {"items":
+         _template_items_gizmo_tweak_value_drag()
+         if params.use_gizmo_drag else
+         _template_items_gizmo_tweak_value()
+        },
+    )
+
+    return keymap
+
+
 def km_generic_gizmo_select(_params):
     keymap = (
         "Generic Gizmo Select",
@@ -5889,6 +5908,7 @@ def generate_keymaps(params=None):
         # Gizmos.
         km_generic_gizmo(params),
         km_generic_gizmo_drag(params),
+        km_generic_gizmo_maybe_drag(params),
         km_generic_gizmo_click_drag(params),
         km_generic_gizmo_select(params),
         km_generic_gizmo_tweak_modal_map(params),
diff --git a/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c b/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
index 2749eab0548..a1b01ed8d15 100644
--- a/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
+++ b/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
@@ -152,7 +152,7 @@ static void WM_GGT_value_operator_redo(wmGizmoGroupType *gzgt)
   gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
 
   gzgt->setup = WIDGETGROUP_value_operator_redo_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_value_operator_redo_refresh;
 }
 
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index d01bd9f29a8..66a56399883 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -461,7 +461,7 @@ static void IMAGE_GGT_gizmo2d(wmGizmoGroupType *gzgt)
 
   gzgt->poll = ED_widgetgroup_gizmo2d_poll;
   gzgt->setup = ED_widgetgroup_gizmo2d_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = ED_widgetgroup_gizmo2d_refresh;
   gzgt->draw_prepare = ED_widgetgroup_gizmo2d_draw_prepare;
 }
diff --git a/source/blender/editors/space_node/node_gizmo.c b/source/blender/editors/space_node/node_gizmo.c
index 4a929a660d9..76e8b5ca7df 100644
--- a/source/blender/editors/space_node/node_gizmo.c
+++ b/source/blender/editors/space_node/node_gizmo.c
@@ -190,7 +190,7 @@ void NODE_GGT_backdrop_transform(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_transform_poll;
   gzgt->setup = WIDGETGROUP_node_transform_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_node_transform_refresh;
 }
 
@@ -411,7 +411,7 @@ void NODE_GGT_backdrop_crop(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_crop_poll;
   gzgt->setup = WIDGETGROUP_node_crop_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->draw_prepare = WIDGETGROUP_node_crop_draw_prepare;
   gzgt->refresh = WIDGETGROUP_node_crop_refresh;
 }
@@ -516,7 +516,7 @@ void NODE_GGT_backdrop_sun_beams(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_sbeam_poll;
   gzgt->setup = WIDGETGROUP_node_sbeam_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->draw_prepare = WIDGETGROUP_node_sbeam_draw_prepare;
   gzgt->refresh = WIDGETGROUP_node_sbeam_refresh;
 }
@@ -637,7 +637,7 @@ void NODE_GGT_backdrop_corner_pin(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_node_corner_pin_poll;
   gzgt->setup = WIDGETGROUP_node_corner_pin_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->draw_prepare = WIDGETGROUP_node_corner_pin_draw_prepare;
   gzgt->refresh = WIDGETGROUP_node_corner_pin_refresh;
 }
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_armature.c b/source/blender/editors/space_view3d/view3d_gizmo_armature.c
index b24b678cb7a..615589347da 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_armature.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_armature.c
@@ -220,7 +220,7 @@ void VIEW3D_GGT_armature_spline(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_armature_spline_poll;
   gzgt->setup = WIDGETGROUP_armature_spline_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_armature_spline_refresh;
 }
 
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_camera.c b/source/blender/editors/space_view3d/view3d_gizmo_camera.c
index 11a8988f83b..002a7e12515 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_camera.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_camera.c
@@ -315,7 +315,7 @@ void VIEW3D_GGT_camera(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_camera_poll;
   gzgt->setup = WIDGETGROUP_camera_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_camera_refresh;
   gzgt->message_subscribe = WIDGETGROUP_camera_message_subscribe;
 }
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_empty.c b/source/blender/editors/space_view3d/view3d_gizmo_empty.c
index a54d59b961f..b37f1e41294 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_empty.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_empty.c
@@ -200,7 +200,7 @@ void VIEW3D_GGT_empty_image(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_empty_image_poll;
   gzgt->setup = WIDGETGROUP_empty_image_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_empty_image_refresh;
 }
 
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
index 1c7c0284fe3..44ad1d14dba 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
@@ -117,7 +117,7 @@ void VIEW3D_GGT_force_field(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_forcefield_poll;
   gzgt->setup = WIDGETGROUP_forcefield_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_forcefield_refresh;
 }
 
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_light.c b/source/blender/editors/space_view3d/view3d_gizmo_light.c
index 0338fe5bead..35677b2e4c2 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_light.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_light.c
@@ -114,7 +114,7 @@ void VIEW3D_GGT_light_spot(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_light_spot_poll;
   gzgt->setup = WIDGETGROUP_light_spot_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_light_spot_refresh;
 }
 
@@ -231,7 +231,7 @@ void VIEW3D_GGT_light_area(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_light_area_poll;
   gzgt->setup = WIDGETGROUP_light_area_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->refresh = WIDGETGROUP_light_area_refresh;
 }
 
@@ -319,7 +319,7 @@ void VIEW3D_GGT_light_target(wmGizmoGroupType *gzgt)
 
   gzgt->poll = WIDGETGROUP_light_target_poll;
   gzgt->setup = WIDGETGROUP_light_target_setup;
-  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_drag;
+  gzgt->setup_keymap = WM_gizmogroup_setup_keymap_generic_maybe_drag;
   gzgt->draw_prepare = WIDGETGROUP_light_target_draw_prepare;
 }
 
diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list