Keymap: Make Ctrl-Tab toggles pose mode
Showing a pie menu is redundant since tab is already mapped to edit mode. Bypass the menu for pose mode toggle.
This commit is contained in:
@@ -297,7 +297,11 @@ void ED_keymap_object(wmKeyConfig *keyconf)
|
||||
RNA_enum_set(kmi->ptr, "mode", OB_MODE_EDIT);
|
||||
RNA_boolean_set(kmi->ptr, "toggle", true);
|
||||
|
||||
kmi = WM_keymap_add_menu_pie(keymap, "VIEW3D_MT_object_mode_pie", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
#if 0
|
||||
WM_keymap_add_menu_pie(keymap, "VIEW3D_MT_object_mode_pie", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
#else
|
||||
WM_keymap_add_item(keymap, "VIEW3D_OT_object_mode_pie_or_toggle", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
#endif
|
||||
|
||||
#ifdef USE_WM_KEYMAP_27X
|
||||
WM_keymap_add_item(keymap, "OBJECT_OT_origin_set", CKEY, KM_PRESS, KM_ALT | KM_SHIFT | KM_CTRL, 0);
|
||||
|
||||
@@ -1222,3 +1222,29 @@ void VIEW3D_OT_properties(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = 0;
|
||||
}
|
||||
|
||||
static int view3d_object_mode_menu(bContext *C, wmOperator *UNUSED(op))
|
||||
{
|
||||
Object *ob = CTX_data_active_object(C);
|
||||
if (ob->type == OB_ARMATURE) {
|
||||
ED_object_mode_toggle(C, OB_MODE_POSE);
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
else {
|
||||
UI_pie_menu_invoke(C, "VIEW3D_MT_object_mode_pie", CTX_wm_window(C)->eventstate);
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
}
|
||||
|
||||
void VIEW3D_OT_object_mode_pie_or_toggle(wmOperatorType *ot)
|
||||
{
|
||||
ot->name = "Object Mode Menu";
|
||||
ot->description = "";
|
||||
ot->idname = "VIEW3D_OT_object_mode_pie_or_toggle";
|
||||
|
||||
ot->exec = view3d_object_mode_menu;
|
||||
ot->poll = ED_operator_view3d_active;
|
||||
|
||||
/* flags */
|
||||
ot->flag = 0;
|
||||
}
|
||||
|
||||
@@ -216,6 +216,7 @@ void viewdolly_modal_keymap(struct wmKeyConfig *keyconf);
|
||||
|
||||
/* view3d_buttons.c */
|
||||
void VIEW3D_OT_properties(struct wmOperatorType *ot);
|
||||
void VIEW3D_OT_object_mode_pie_or_toggle(struct wmOperatorType *ot);
|
||||
void view3d_buttons_register(struct ARegionType *art);
|
||||
|
||||
/* view3d_camera_control.c */
|
||||
|
||||
@@ -212,6 +212,7 @@ void view3d_operatortypes(void)
|
||||
WM_operatortype_append(VIEW3D_OT_pastebuffer);
|
||||
|
||||
WM_operatortype_append(VIEW3D_OT_properties);
|
||||
WM_operatortype_append(VIEW3D_OT_object_mode_pie_or_toggle);
|
||||
WM_operatortype_append(VIEW3D_OT_toolshelf);
|
||||
|
||||
WM_operatortype_append(VIEW3D_OT_snap_selected_to_grid);
|
||||
|
||||
Reference in New Issue
Block a user