Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py32
-rw-r--r--source/blender/editors/object/object_edit.c9
2 files changed, 21 insertions, 20 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 5a12d5c79f9..80794d9f23d 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -326,6 +326,22 @@ def _template_items_hide_reveal_actions(op_hide, op_reveal):
]
+def _template_object_hide_collection_from_number_keys():
+ return [
+ ("object.hide_collection", {
+ "type": NUMBERS_1[i], "value": 'PRESS',
+ **({"shift": True} if extend else {}),
+ **({"alt": True} if add_10 else {}),
+ }, {"properties": [
+ ("collection_index", i + (11 if add_10 else 1)),
+ ("extend", extend),
+ ]})
+ for extend in (False, True)
+ for add_10 in (False, True)
+ for i in range(10)
+ ]
+
+
def _template_items_object_subdivision_set():
return [
("object.subdivision_set",
@@ -4410,13 +4426,7 @@ def km_pose(params):
("pose.breakdown", {"type": 'E', "value": 'PRESS', "shift": True}, None),
("pose.blend_to_neighbor", {"type": 'E', "value": 'PRESS', "shift": True, "alt": True}, None),
op_menu("VIEW3D_MT_pose_propagate", {"type": 'P', "value": 'PRESS', "alt": True}),
- *(
- (("object.hide_collection",
- {"type": NUMBERS_1[i], "value": 'PRESS', "any": True},
- {"properties": [("collection_index", i + 1)]})
- for i in range(10)
- )
- ),
+ *_template_object_hide_collection_from_number_keys(),
*_template_items_context_menu("VIEW3D_MT_pose_context_menu", params.context_menu_event),
])
@@ -4486,13 +4496,7 @@ def km_object_mode(params):
("object.link_to_collection", {"type": 'M', "value": 'PRESS', "shift": True}, None),
*_template_items_hide_reveal_actions("object.hide_view_set", "object.hide_view_clear"),
("object.hide_collection", {"type": 'H', "value": 'PRESS', "ctrl": True}, None),
- *(
- (("object.hide_collection",
- {"type": NUMBERS_1[i], "value": 'PRESS', "any": True},
- {"properties": [("collection_index", i + 1)]})
- for i in range(10)
- )
- ),
+ *_template_object_hide_collection_from_number_keys(),
*_template_items_context_menu("VIEW3D_MT_object_context_menu", params.context_menu_event),
])
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 82b14787d9b..0f47a692787 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -338,17 +338,12 @@ void OBJECT_OT_hide_view_set(wmOperatorType *ot)
static int object_hide_collection_exec(bContext *C, wmOperator *op)
{
- wmWindow *win = CTX_wm_window(C);
View3D *v3d = CTX_wm_view3d(C);
int index = RNA_int_get(op->ptr, "collection_index");
- const bool extend = (win->eventstate->modifier & KM_SHIFT) != 0;
+ const bool extend = RNA_boolean_get(op->ptr, "extend");
const bool toggle = RNA_boolean_get(op->ptr, "toggle");
- if (win->eventstate->modifier & KM_ALT) {
- index += 10;
- }
-
Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
LayerCollection *lc = BKE_layer_collection_from_index(view_layer, index);
@@ -467,6 +462,8 @@ void OBJECT_OT_hide_collection(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE | PROP_HIDDEN);
prop = RNA_def_boolean(ot->srna, "toggle", 0, "Toggle", "Toggle visibility");
RNA_def_property_flag(prop, PROP_SKIP_SAVE | PROP_HIDDEN);
+ prop = RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend visibility");
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE | PROP_HIDDEN);
}
/** \} */