From 8c74462f188ccf0e71c167579c2fc4b5827e25cc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 2 Sep 2018 21:21:15 +1000 Subject: Cleanup: move select all/none/invert into template --- build_files/cmake/macros.cmake | 2 +- .../blender/editors/animation/anim_channels_edit.c | 8 +--- source/blender/editors/animation/anim_markers.c | 6 +-- source/blender/editors/armature/armature_ops.c | 15 ++------ source/blender/editors/curve/curve_ops.c | 8 +--- source/blender/editors/gpencil/gpencil_ops.c | 9 +---- .../blender/editors/include/ED_keymap_templates.h | 32 ++++++++++++++++ source/blender/editors/lattice/lattice_ops.c | 9 ++--- source/blender/editors/mask/mask_edit.c | 8 +--- source/blender/editors/mesh/mesh_ops.c | 8 +--- source/blender/editors/metaball/mball_ops.c | 8 +--- source/blender/editors/object/object_ops.c | 8 +--- source/blender/editors/physics/physics_ops.c | 8 +--- source/blender/editors/sculpt_paint/paint_ops.c | 18 +++------ source/blender/editors/space_action/action_ops.c | 8 +--- source/blender/editors/space_clip/space_clip.c | 16 ++------ source/blender/editors/space_graph/graph_ops.c | 8 +--- source/blender/editors/space_nla/nla_ops.c | 8 +--- source/blender/editors/space_node/node_ops.c | 8 +--- .../blender/editors/space_outliner/outliner_ops.c | 8 +--- .../editors/space_sequencer/sequencer_ops.c | 8 +--- source/blender/editors/util/CMakeLists.txt | 2 + source/blender/editors/util/keymap_templates.c | 43 ++++++++++++++++++++++ source/blender/editors/uvedit/uvedit_ops.c | 8 +--- 24 files changed, 126 insertions(+), 138 deletions(-) create mode 100644 source/blender/editors/include/ED_keymap_templates.h create mode 100644 source/blender/editors/util/keymap_templates.c diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index a4f8d9397aa..ddea41675c2 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -595,7 +595,6 @@ function(SETUP_BLENDER_SORTED_LIBS) bf_editor_space_clip bf_editor_transform - bf_editor_util bf_editor_uvedit bf_editor_curve bf_editor_interface @@ -616,6 +615,7 @@ function(SETUP_BLENDER_SORTED_LIBS) bf_editor_datafiles bf_editor_mask bf_editor_io + bf_editor_util bf_render bf_python diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 6032b21ab88..389a8d0fd03 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -65,6 +65,7 @@ #include "ED_anim_api.h" #include "ED_armature.h" #include "ED_keyframes_edit.h" // XXX move the select modes out of there! +#include "ED_keymap_templates.h" #include "ED_object.h" #include "ED_screen.h" #include "ED_select_utils.h" @@ -3213,12 +3214,7 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "ANIM_OT_channels_find", FKEY, KM_PRESS, KM_CTRL, 0); /* deselect all */ - kmi = WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "ANIM_OT_channels_select_all"); /* borderselect */ WM_keymap_add_item(keymap, "ANIM_OT_channels_select_border", BKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c index 2085ad869be..e0f9a546dfc 100644 --- a/source/blender/editors/animation/anim_markers.c +++ b/source/blender/editors/animation/anim_markers.c @@ -72,6 +72,7 @@ #include "ED_markers.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_util.h" #include "ED_numinput.h" #include "ED_object.h" @@ -1672,10 +1673,7 @@ void ED_keymap_marker(wmKeyConfig *keyconf) WM_keymap_verify_item(keymap, "MARKER_OT_select_border", BKEY, KM_PRESS, 0, 0); - kmi = WM_keymap_verify_item(keymap, "MARKER_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_verify_item(keymap, "MARKER_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); + ED_keymap_template_select_all(keymap, "MARKER_OT_select_all"); WM_keymap_add_item(keymap, "MARKER_OT_delete", XKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "MARKER_OT_delete", DELKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c index 323fa36832b..f61018f5278 100644 --- a/source/blender/editors/armature/armature_ops.c +++ b/source/blender/editors/armature/armature_ops.c @@ -36,6 +36,7 @@ #include "ED_armature.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_transform.h" #include "armature_intern.h" @@ -218,12 +219,7 @@ void ED_keymap_armature(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "ARMATURE_OT_parent_set", PKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "ARMATURE_OT_parent_clear", PKEY, KM_PRESS, KM_ALT, 0); - kmi = WM_keymap_add_item(keymap, "ARMATURE_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "ARMATURE_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "ARMATURE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "ARMATURE_OT_select_all"); kmi = WM_keymap_add_item(keymap, "ARMATURE_OT_select_mirror", MKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "extend", false); @@ -334,12 +330,7 @@ void ED_keymap_armature(wmKeyConfig *keyconf) RNA_boolean_set(kmi->ptr, "flipped", true); #endif - kmi = WM_keymap_add_item(keymap, "POSE_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "POSE_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "POSE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "POSE_OT_select_all"); WM_keymap_add_item(keymap, "POSE_OT_select_parent", PKEY, KM_PRESS, KM_SHIFT, 0); diff --git a/source/blender/editors/curve/curve_ops.c b/source/blender/editors/curve/curve_ops.c index ae07196860b..1d84a1fe5e7 100644 --- a/source/blender/editors/curve/curve_ops.c +++ b/source/blender/editors/curve/curve_ops.c @@ -45,6 +45,7 @@ #include "ED_object.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_transform.h" #include "curve_intern.h" @@ -245,12 +246,7 @@ void ED_keymap_curve(wmKeyConfig *keyconf) kmi = WM_keymap_add_item(keymap, "CURVE_OT_draw", TABLET_STYLUS, KM_PRESS, KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "wait_for_input", false); - kmi = WM_keymap_add_item(keymap, "CURVE_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "CURVE_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "CURVE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "CURVE_OT_select_all"); WM_keymap_add_item(keymap, "CURVE_OT_select_row", RKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "CURVE_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c index fd6cf1f9681..db51fead531 100644 --- a/source/blender/editors/gpencil/gpencil_ops.c +++ b/source/blender/editors/gpencil/gpencil_ops.c @@ -51,6 +51,7 @@ #include "ED_gpencil.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_object.h" #include "ED_transform.h" @@ -197,13 +198,7 @@ static void ed_keymap_gpencil_selection(wmKeyMap *keymap) wmKeyMapItem *kmi; /* select all */ - kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - - kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "GPENCIL_OT_select_all"); /* circle select */ WM_keymap_add_item(keymap, "GPENCIL_OT_select_circle", CKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/include/ED_keymap_templates.h b/source/blender/editors/include/ED_keymap_templates.h new file mode 100644 index 00000000000..0a1882d005a --- /dev/null +++ b/source/blender/editors/include/ED_keymap_templates.h @@ -0,0 +1,32 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file ED_keymap_templates.h + * \ingroup editors + */ + +#ifndef __ED_KEYMAP_TEMPLATES_H__ +#define __ED_KEYMAP_TEMPLATES_H__ + +struct wmKeyMap; + +void ED_keymap_template_select_all(struct wmKeyMap *keymap, const char *idname); + +#endif /* __ED_KEYMAP_TEMPLATES_H__ */ diff --git a/source/blender/editors/lattice/lattice_ops.c b/source/blender/editors/lattice/lattice_ops.c index 2e6eafb0886..d0c9a385cf2 100644 --- a/source/blender/editors/lattice/lattice_ops.c +++ b/source/blender/editors/lattice/lattice_ops.c @@ -37,6 +37,7 @@ #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_object.h" #include "ED_lattice.h" @@ -62,12 +63,8 @@ void ED_keymap_lattice(wmKeyConfig *keyconf) keymap = WM_keymap_ensure(keyconf, "Lattice", 0, 0); keymap->poll = ED_operator_editlattice; - kmi = WM_keymap_add_item(keymap, "LATTICE_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "LATTICE_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "LATTICE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "LATTICE_OT_select_all"); + WM_keymap_add_item(keymap, "LATTICE_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "LATTICE_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); diff --git a/source/blender/editors/mask/mask_edit.c b/source/blender/editors/mask/mask_edit.c index d734f4fbb93..1d815277ed4 100644 --- a/source/blender/editors/mask/mask_edit.c +++ b/source/blender/editors/mask/mask_edit.c @@ -43,6 +43,7 @@ #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_mask.h" /* own include */ #include "ED_image.h" #include "ED_object.h" /* ED_keymap_proportional_maskmode only */ @@ -555,12 +556,7 @@ void ED_keymap_mask(wmKeyConfig *keyconf) RNA_boolean_set(kmi->ptr, "deselect", false); RNA_boolean_set(kmi->ptr, "toggle", true); - kmi = WM_keymap_add_item(keymap, "MASK_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "MASK_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "MASK_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "MASK_OT_select_all"); WM_keymap_add_item(keymap, "MASK_OT_select_linked", LKEY, KM_PRESS, KM_CTRL, 0); kmi = WM_keymap_add_item(keymap, "MASK_OT_select_linked_pick", LKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index a318b3b78e5..acd8079e75a 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -41,6 +41,7 @@ #include "ED_mesh.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "mesh_intern.h" /* own include */ @@ -379,12 +380,7 @@ void ED_keymap_mesh(wmKeyConfig *keyconf) kmi = WM_keymap_add_item(keymap, "MESH_OT_shortest_path_pick", SELECTMOUSE, KM_PRESS, KM_CTRL | KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "use_fill", true); - kmi = WM_keymap_add_item(keymap, "MESH_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "MESH_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "MESH_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "MESH_OT_select_all"); WM_keymap_add_item(keymap, "MESH_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "MESH_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); diff --git a/source/blender/editors/metaball/mball_ops.c b/source/blender/editors/metaball/mball_ops.c index 97636b59143..c3c404f37ac 100644 --- a/source/blender/editors/metaball/mball_ops.c +++ b/source/blender/editors/metaball/mball_ops.c @@ -38,6 +38,7 @@ #include "ED_mball.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_object.h" #include "mball_intern.h" @@ -89,12 +90,7 @@ void ED_keymap_metaball(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "MBALL_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0); - kmi = WM_keymap_add_item(keymap, "MBALL_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "MBALL_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "MBALL_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "MBALL_OT_select_all"); WM_keymap_add_item(keymap, "MBALL_OT_select_similar", GKEY, KM_PRESS, KM_SHIFT, 0); diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c index ca13f32ec52..d504a0e21f8 100644 --- a/source/blender/editors/object/object_ops.c +++ b/source/blender/editors/object/object_ops.c @@ -47,6 +47,7 @@ #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_object.h" #include "DEG_depsgraph.h" @@ -334,12 +335,7 @@ void ED_keymap_object(wmKeyConfig *keyconf) ED_keymap_proportional_cycle(keyconf, keymap); ED_keymap_proportional_obmode(keyconf, keymap); - kmi = WM_keymap_add_item(keymap, "OBJECT_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "OBJECT_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "OBJECT_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "OBJECT_OT_select_all"); WM_keymap_add_item(keymap, "OBJECT_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "OBJECT_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); diff --git a/source/blender/editors/physics/physics_ops.c b/source/blender/editors/physics/physics_ops.c index c95e7bb3e15..fc2a6bad561 100644 --- a/source/blender/editors/physics/physics_ops.c +++ b/source/blender/editors/physics/physics_ops.c @@ -35,6 +35,7 @@ #include "WM_types.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_physics.h" #include "ED_object.h" @@ -117,12 +118,7 @@ static void keymap_particle(wmKeyConfig *keyconf) keymap = WM_keymap_ensure(keyconf, "Particle", 0, 0); keymap->poll = PE_poll; - kmi = WM_keymap_add_item(keymap, "PARTICLE_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "PARTICLE_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "PARTICLE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "PARTICLE_OT_select_all"); WM_keymap_add_item(keymap, "PARTICLE_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "PARTICLE_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c index 05be3db635f..eb619e1bbb7 100644 --- a/source/blender/editors/sculpt_paint/paint_ops.c +++ b/source/blender/editors/sculpt_paint/paint_ops.c @@ -49,6 +49,7 @@ #include "ED_paint.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_image.h" #include "ED_gpencil.h" #include "UI_resources.h" @@ -1437,12 +1438,9 @@ void ED_keymap_paint(wmKeyConfig *keyconf) /*Weight paint's Vertex Selection Mode */ keymap = WM_keymap_ensure(keyconf, "Weight Paint Vertex Selection", 0, 0); keymap->poll = vert_paint_poll; - kmi = WM_keymap_add_item(keymap, "PAINT_OT_vert_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "PAINT_OT_vert_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "PAINT_OT_vert_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + + ED_keymap_template_select_all(keymap, "PAINT_OT_vert_select_all"); + WM_keymap_add_item(keymap, "VIEW3D_OT_select_border", BKEY, KM_PRESS, 0, 0); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_CTRL, 0); RNA_enum_set(kmi->ptr, "mode", SEL_OP_ADD); @@ -1482,12 +1480,8 @@ void ED_keymap_paint(wmKeyConfig *keyconf) keymap = WM_keymap_ensure(keyconf, "Face Mask", 0, 0); keymap->poll = facemask_paint_poll; - kmi = WM_keymap_add_item(keymap, "PAINT_OT_face_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "PAINT_OT_face_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "PAINT_OT_face_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "PAINT_OT_face_select_all"); + kmi = WM_keymap_add_item(keymap, "PAINT_OT_face_select_hide", HKEY, KM_PRESS, 0, 0); RNA_boolean_set(kmi->ptr, "unselected", false); kmi = WM_keymap_add_item(keymap, "PAINT_OT_face_select_hide", HKEY, KM_PRESS, KM_SHIFT, 0); diff --git a/source/blender/editors/space_action/action_ops.c b/source/blender/editors/space_action/action_ops.c index 4976ffa3fc3..290020c7840 100644 --- a/source/blender/editors/space_action/action_ops.c +++ b/source/blender/editors/space_action/action_ops.c @@ -41,6 +41,7 @@ #include "ED_transform.h" #include "ED_object.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "action_intern.h" @@ -171,12 +172,7 @@ static void action_keymap_keyframes(wmKeyConfig *keyconf, wmKeyMap *keymap) RNA_enum_set(kmi->ptr, "mode", ACTKEYS_LRSEL_RIGHT); /* deselect all */ - kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "ACTION_OT_select_all"); /* borderselect */ kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_border", BKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index bee266285d3..a6fc6da9a55 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -56,6 +56,7 @@ #include "ED_space_api.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_clip.h" #include "ED_transform.h" #include "ED_uvedit.h" /* just for ED_image_draw_cursor */ @@ -646,12 +647,8 @@ static void clip_keymap(struct wmKeyConfig *keyconf) kmi = WM_keymap_add_item(keymap, "CLIP_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "extend", true); - kmi = WM_keymap_add_item(keymap, "CLIP_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "CLIP_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "CLIP_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "CLIP_OT_select_all"); + WM_keymap_add_item(keymap, "CLIP_OT_select_border", BKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "CLIP_OT_select_circle", CKEY, KM_PRESS, 0, 0); WM_keymap_add_menu(keymap, "CLIP_MT_select_grouped", GKEY, KM_PRESS, KM_SHIFT, 0); @@ -765,12 +762,7 @@ static void clip_keymap(struct wmKeyConfig *keyconf) kmi = WM_keymap_add_item(keymap, "CLIP_OT_graph_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "extend", true); - kmi = WM_keymap_add_item(keymap, "CLIP_OT_graph_select_all_markers", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "CLIP_OT_graph_select_all_markers", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "CLIP_OT_graph_select_all_markers", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "CLIP_OT_graph_select_all_markers"); WM_keymap_add_item(keymap, "CLIP_OT_graph_select_border", BKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/space_graph/graph_ops.c b/source/blender/editors/space_graph/graph_ops.c index 8699bb595fa..c212ad8f010 100644 --- a/source/blender/editors/space_graph/graph_ops.c +++ b/source/blender/editors/space_graph/graph_ops.c @@ -49,6 +49,7 @@ #include "ED_markers.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_transform.h" #include "ED_object.h" @@ -552,12 +553,7 @@ static void graphedit_keymap_keyframes(wmKeyConfig *keyconf, wmKeyMap *keymap) RNA_enum_set(kmi->ptr, "mode", GRAPHKEYS_LRSEL_RIGHT); /* deselect all */ - kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "GRAPH_OT_select_all"); /* borderselect */ kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_border", BKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/space_nla/nla_ops.c b/source/blender/editors/space_nla/nla_ops.c index 53e9321b2e8..99cdf27326c 100644 --- a/source/blender/editors/space_nla/nla_ops.c +++ b/source/blender/editors/space_nla/nla_ops.c @@ -40,6 +40,7 @@ #include "ED_markers.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_transform.h" #include "WM_api.h" @@ -225,12 +226,7 @@ static void nla_keymap_main(wmKeyConfig *keyconf, wmKeyMap *keymap) RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_RIGHT); /* deselect all */ - kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "NLA_OT_select_all"); /* borderselect */ kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c index 759b157b3f8..9e66d1424db 100644 --- a/source/blender/editors/space_node/node_ops.c +++ b/source/blender/editors/space_node/node_ops.c @@ -38,6 +38,7 @@ #include "ED_node.h" /* own include */ #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_transform.h" #include "RNA_access.h" @@ -314,12 +315,7 @@ void node_keymap(struct wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "NODE_OT_delete_reconnect", XKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "NODE_OT_delete_reconnect", DELKEY, KM_PRESS, KM_CTRL, 0); - kmi = WM_keymap_add_item(keymap, "NODE_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "NODE_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "NODE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "NODE_OT_select_all"); WM_keymap_add_item(keymap, "NODE_OT_select_linked_to", LKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "NODE_OT_select_linked_from", LKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c index 66fd680a1e0..7e8954ad0d1 100644 --- a/source/blender/editors/space_outliner/outliner_ops.c +++ b/source/blender/editors/space_outliner/outliner_ops.c @@ -53,6 +53,7 @@ #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "outliner_intern.h" @@ -170,12 +171,7 @@ void outliner_keymap(wmKeyConfig *keyconf) kmi = WM_keymap_add_item(keymap, "OUTLINER_OT_show_one_level", PADMINUS, KM_PRESS, 0, 0); RNA_boolean_set(kmi->ptr, "open", false); /* close */ - kmi = WM_keymap_add_item(keymap, "OUTLINER_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "OUTLINER_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "OUTLINER_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "OUTLINER_OT_select_all"); WM_keymap_add_item(keymap, "OUTLINER_OT_expanded_toggle", AKEY, KM_PRESS, KM_SHIFT, 0); diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c index bf1804955d7..61b6a6dc515 100644 --- a/source/blender/editors/space_sequencer/sequencer_ops.c +++ b/source/blender/editors/space_sequencer/sequencer_ops.c @@ -40,6 +40,7 @@ #include "ED_markers.h" #include "ED_transform.h" /* transform keymap */ #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "BKE_sequencer.h" @@ -151,12 +152,7 @@ void sequencer_keymap(wmKeyConfig *keyconf) /* Strips Region --------------------------------------------------------------- */ keymap = WM_keymap_ensure(keyconf, "Sequencer", SPACE_SEQ, 0); - kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "SEQUENCER_OT_select_all"); kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_cut", KKEY, KM_PRESS, 0, 0); RNA_enum_set(kmi->ptr, "type", SEQ_CUT_SOFT); diff --git a/source/blender/editors/util/CMakeLists.txt b/source/blender/editors/util/CMakeLists.txt index 3fd8656ad2c..4321365fb4f 100644 --- a/source/blender/editors/util/CMakeLists.txt +++ b/source/blender/editors/util/CMakeLists.txt @@ -40,6 +40,7 @@ set(INC_SYS ) set(SRC + keymap_templates.c ed_transverts.c ed_util.c numinput.c @@ -62,6 +63,7 @@ set(SRC ../include/ED_keyframes_draw.h ../include/ED_keyframes_edit.h ../include/ED_keyframing.h + ../include/ED_keymap_templates.h ../include/ED_lattice.h ../include/ED_logic.h ../include/ED_markers.h diff --git a/source/blender/editors/util/keymap_templates.c b/source/blender/editors/util/keymap_templates.c new file mode 100644 index 00000000000..aac7b3ea026 --- /dev/null +++ b/source/blender/editors/util/keymap_templates.c @@ -0,0 +1,43 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/util/keymap_templates.c + * \ingroup edutil + */ + +#include "WM_api.h" +#include "WM_types.h" + +#include "RNA_access.h" + +#include "ED_select_utils.h" +#include "ED_keymap_templates.h" /* own include */ + +void ED_keymap_template_select_all(wmKeyMap *keymap, const char *idname) +{ + wmKeyMapItem *kmi; + + kmi = WM_keymap_add_item(keymap, idname, AKEY, KM_PRESS, 0, 0); + RNA_enum_set(kmi->ptr, "action", SEL_SELECT); + kmi = WM_keymap_add_item(keymap, idname, AKEY, KM_PRESS, KM_ALT, 0); + RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); + kmi = WM_keymap_add_item(keymap, idname, IKEY, KM_PRESS, KM_CTRL, 0); + RNA_enum_set(kmi->ptr, "action", SEL_INVERT); +} diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index 80c443ab1eb..09afe1973d5 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -77,6 +77,7 @@ #include "ED_object.h" #include "ED_screen.h" #include "ED_select_utils.h" +#include "ED_keymap_templates.h" #include "ED_transform.h" #include "RNA_access.h" @@ -4456,12 +4457,7 @@ void ED_keymap_uvedit(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "UV_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "UV_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); - kmi = WM_keymap_add_item(keymap, "UV_OT_select_all", AKEY, KM_PRESS, 0, 0); - RNA_enum_set(kmi->ptr, "action", SEL_SELECT); - kmi = WM_keymap_add_item(keymap, "UV_OT_select_all", AKEY, KM_PRESS, KM_ALT, 0); - RNA_enum_set(kmi->ptr, "action", SEL_DESELECT); - kmi = WM_keymap_add_item(keymap, "UV_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0); - RNA_enum_set(kmi->ptr, "action", SEL_INVERT); + ED_keymap_template_select_all(keymap, "UV_OT_select_all"); WM_keymap_add_item(keymap, "UV_OT_select_pinned", PKEY, KM_PRESS, KM_SHIFT, 0); -- cgit v1.2.3