diff options
author | Julian Eisel <julian@blender.org> | 2020-03-06 18:22:28 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-03-06 18:27:13 +0300 |
commit | d5572eacc5958db38ac4a4a32eddb3a2cd24bf68 (patch) | |
tree | 5252d8f509dae02bf9c137a1710c073d5bbac592 /source/blender/windowmanager/intern/wm_keymap_utils.c | |
parent | b242cc67928a6858a835c088e4d3ea8822c83168 (diff) |
Cleanup: Reduce context usage in UI functions
Part of https://developer.blender.org/T74429.
There's a chance that this causes some issues becaue in some cases we
change from getting the window from context to getting it from somewhere
else.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_keymap_utils.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap_utils.c | 107 |
1 files changed, 54 insertions, 53 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap_utils.c b/source/blender/windowmanager/intern/wm_keymap_utils.c index 5e6b55a508e..6e494280820 100644 --- a/source/blender/windowmanager/intern/wm_keymap_utils.c +++ b/source/blender/windowmanager/intern/wm_keymap_utils.c @@ -194,7 +194,7 @@ wmKeyMap *WM_keymap_guess_from_context(const bContext *C) return NULL; } - wmKeyMap *km = WM_keymap_find_all(C, km_id, 0, 0); + wmKeyMap *km = WM_keymap_find_all(CTX_wm_manager(C), km_id, 0, 0); BLI_assert(km); return km; } @@ -218,6 +218,7 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname) */ wmKeyMap *km = NULL; + wmWindowManager *wm = CTX_wm_manager(C); SpaceLink *sl = CTX_wm_space_data(C); /* Window */ @@ -227,113 +228,113 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname) } if (km == NULL) { - km = WM_keymap_find_all(C, "Window", 0, 0); + km = WM_keymap_find_all(wm, "Window", 0, 0); } } /* Screen & Render */ else if (STRPREFIX(opname, "SCREEN_OT") || STRPREFIX(opname, "RENDER_OT") || STRPREFIX(opname, "SOUND_OT") || STRPREFIX(opname, "SCENE_OT")) { - km = WM_keymap_find_all(C, "Screen", 0, 0); + km = WM_keymap_find_all(wm, "Screen", 0, 0); } /* Grease Pencil */ else if (STRPREFIX(opname, "GPENCIL_OT")) { - km = WM_keymap_find_all(C, "Grease Pencil", 0, 0); + km = WM_keymap_find_all(wm, "Grease Pencil", 0, 0); } /* Markers */ else if (STRPREFIX(opname, "MARKER_OT")) { - km = WM_keymap_find_all(C, "Markers", 0, 0); + km = WM_keymap_find_all(wm, "Markers", 0, 0); } /* Import/Export*/ else if (STRPREFIX(opname, "IMPORT_") || STRPREFIX(opname, "EXPORT_")) { - km = WM_keymap_find_all(C, "Window", 0, 0); + km = WM_keymap_find_all(wm, "Window", 0, 0); } /* 3D View */ else if (STRPREFIX(opname, "VIEW3D_OT")) { - km = WM_keymap_find_all(C, "3D View", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "3D View", sl->spacetype, 0); } else if (STRPREFIX(opname, "OBJECT_OT")) { /* exception, this needs to work outside object mode too */ if (STRPREFIX(opname, "OBJECT_OT_mode_set")) { - km = WM_keymap_find_all(C, "Object Non-modal", 0, 0); + km = WM_keymap_find_all(wm, "Object Non-modal", 0, 0); } else { - km = WM_keymap_find_all(C, "Object Mode", 0, 0); + km = WM_keymap_find_all(wm, "Object Mode", 0, 0); } } /* Object mode related */ else if (STRPREFIX(opname, "GROUP_OT") || STRPREFIX(opname, "MATERIAL_OT") || STRPREFIX(opname, "PTCACHE_OT") || STRPREFIX(opname, "RIGIDBODY_OT")) { - km = WM_keymap_find_all(C, "Object Mode", 0, 0); + km = WM_keymap_find_all(wm, "Object Mode", 0, 0); } /* Editing Modes */ else if (STRPREFIX(opname, "MESH_OT")) { - km = WM_keymap_find_all(C, "Mesh", 0, 0); + km = WM_keymap_find_all(wm, "Mesh", 0, 0); /* some mesh operators are active in object mode too, like add-prim */ if (km && !WM_keymap_poll((bContext *)C, km)) { - km = WM_keymap_find_all(C, "Object Mode", 0, 0); + km = WM_keymap_find_all(wm, "Object Mode", 0, 0); } } else if (STRPREFIX(opname, "CURVE_OT") || STRPREFIX(opname, "SURFACE_OT")) { - km = WM_keymap_find_all(C, "Curve", 0, 0); + km = WM_keymap_find_all(wm, "Curve", 0, 0); /* some curve operators are active in object mode too, like add-prim */ if (km && !WM_keymap_poll((bContext *)C, km)) { - km = WM_keymap_find_all(C, "Object Mode", 0, 0); + km = WM_keymap_find_all(wm, "Object Mode", 0, 0); } } else if (STRPREFIX(opname, "ARMATURE_OT") || STRPREFIX(opname, "SKETCH_OT")) { - km = WM_keymap_find_all(C, "Armature", 0, 0); + km = WM_keymap_find_all(wm, "Armature", 0, 0); } else if (STRPREFIX(opname, "POSE_OT") || STRPREFIX(opname, "POSELIB_OT")) { - km = WM_keymap_find_all(C, "Pose", 0, 0); + km = WM_keymap_find_all(wm, "Pose", 0, 0); } else if (STRPREFIX(opname, "SCULPT_OT")) { switch (CTX_data_mode_enum(C)) { case CTX_MODE_SCULPT: - km = WM_keymap_find_all(C, "Sculpt", 0, 0); + km = WM_keymap_find_all(wm, "Sculpt", 0, 0); break; default: break; } } else if (STRPREFIX(opname, "MBALL_OT")) { - km = WM_keymap_find_all(C, "Metaball", 0, 0); + km = WM_keymap_find_all(wm, "Metaball", 0, 0); /* some mball operators are active in object mode too, like add-prim */ if (km && !WM_keymap_poll((bContext *)C, km)) { - km = WM_keymap_find_all(C, "Object Mode", 0, 0); + km = WM_keymap_find_all(wm, "Object Mode", 0, 0); } } else if (STRPREFIX(opname, "LATTICE_OT")) { - km = WM_keymap_find_all(C, "Lattice", 0, 0); + km = WM_keymap_find_all(wm, "Lattice", 0, 0); } else if (STRPREFIX(opname, "PARTICLE_OT")) { - km = WM_keymap_find_all(C, "Particle", 0, 0); + km = WM_keymap_find_all(wm, "Particle", 0, 0); } else if (STRPREFIX(opname, "FONT_OT")) { - km = WM_keymap_find_all(C, "Font", 0, 0); + km = WM_keymap_find_all(wm, "Font", 0, 0); } /* Paint Face Mask */ else if (STRPREFIX(opname, "PAINT_OT_face_select")) { - km = WM_keymap_find_all(C, "Paint Face Mask (Weight, Vertex, Texture)", 0, 0); + km = WM_keymap_find_all(wm, "Paint Face Mask (Weight, Vertex, Texture)", 0, 0); } else if (STRPREFIX(opname, "PAINT_OT")) { /* check for relevant mode */ switch (CTX_data_mode_enum(C)) { case CTX_MODE_PAINT_WEIGHT: - km = WM_keymap_find_all(C, "Weight Paint", 0, 0); + km = WM_keymap_find_all(wm, "Weight Paint", 0, 0); break; case CTX_MODE_PAINT_VERTEX: - km = WM_keymap_find_all(C, "Vertex Paint", 0, 0); + km = WM_keymap_find_all(wm, "Vertex Paint", 0, 0); break; case CTX_MODE_PAINT_TEXTURE: - km = WM_keymap_find_all(C, "Image Paint", 0, 0); + km = WM_keymap_find_all(wm, "Image Paint", 0, 0); break; case CTX_MODE_SCULPT: - km = WM_keymap_find_all(C, "Sculpt", 0, 0); + km = WM_keymap_find_all(wm, "Sculpt", 0, 0); break; default: break; @@ -341,109 +342,109 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname) } /* Image Editor */ else if (STRPREFIX(opname, "IMAGE_OT")) { - km = WM_keymap_find_all(C, "Image", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Image", sl->spacetype, 0); } /* Clip Editor */ else if (STRPREFIX(opname, "CLIP_OT")) { - km = WM_keymap_find_all(C, "Clip", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Clip", sl->spacetype, 0); } else if (STRPREFIX(opname, "MASK_OT")) { - km = WM_keymap_find_all(C, "Mask Editing", 0, 0); + km = WM_keymap_find_all(wm, "Mask Editing", 0, 0); } /* UV Editor */ else if (STRPREFIX(opname, "UV_OT")) { /* Hack to allow using UV unwrapping ops from 3DView/editmode. * Mesh keymap is probably not ideal, but best place I could find to put those. */ if (sl->spacetype == SPACE_VIEW3D) { - km = WM_keymap_find_all(C, "Mesh", 0, 0); + km = WM_keymap_find_all(wm, "Mesh", 0, 0); if (km && !WM_keymap_poll((bContext *)C, km)) { km = NULL; } } if (!km) { - km = WM_keymap_find_all(C, "UV Editor", 0, 0); + km = WM_keymap_find_all(wm, "UV Editor", 0, 0); } } /* Node Editor */ else if (STRPREFIX(opname, "NODE_OT")) { - km = WM_keymap_find_all(C, "Node Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Node Editor", sl->spacetype, 0); } /* Animation Editor Channels */ else if (STRPREFIX(opname, "ANIM_OT_channels")) { - km = WM_keymap_find_all(C, "Animation Channels", 0, 0); + km = WM_keymap_find_all(wm, "Animation Channels", 0, 0); } /* Animation Generic - after channels */ else if (STRPREFIX(opname, "ANIM_OT")) { - km = WM_keymap_find_all(C, "Animation", 0, 0); + km = WM_keymap_find_all(wm, "Animation", 0, 0); } /* Graph Editor */ else if (STRPREFIX(opname, "GRAPH_OT")) { - km = WM_keymap_find_all(C, "Graph Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Graph Editor", sl->spacetype, 0); } /* Dopesheet Editor */ else if (STRPREFIX(opname, "ACTION_OT")) { - km = WM_keymap_find_all(C, "Dopesheet", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Dopesheet", sl->spacetype, 0); } /* NLA Editor */ else if (STRPREFIX(opname, "NLA_OT")) { - km = WM_keymap_find_all(C, "NLA Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "NLA Editor", sl->spacetype, 0); } /* Script */ else if (STRPREFIX(opname, "SCRIPT_OT")) { - km = WM_keymap_find_all(C, "Script", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Script", sl->spacetype, 0); } /* Text */ else if (STRPREFIX(opname, "TEXT_OT")) { - km = WM_keymap_find_all(C, "Text", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Text", sl->spacetype, 0); } /* Sequencer */ else if (STRPREFIX(opname, "SEQUENCER_OT")) { - km = WM_keymap_find_all(C, "Sequencer", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Sequencer", sl->spacetype, 0); } /* Console */ else if (STRPREFIX(opname, "CONSOLE_OT")) { - km = WM_keymap_find_all(C, "Console", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Console", sl->spacetype, 0); } /* Console */ else if (STRPREFIX(opname, "INFO_OT")) { - km = WM_keymap_find_all(C, "Info", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Info", sl->spacetype, 0); } /* File browser */ else if (STRPREFIX(opname, "FILE_OT")) { - km = WM_keymap_find_all(C, "File Browser", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "File Browser", sl->spacetype, 0); } /* Logic Editor */ else if (STRPREFIX(opname, "LOGIC_OT")) { - km = WM_keymap_find_all(C, "Logic Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Logic Editor", sl->spacetype, 0); } /* Outliner */ else if (STRPREFIX(opname, "OUTLINER_OT")) { - km = WM_keymap_find_all(C, "Outliner", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Outliner", sl->spacetype, 0); } /* Transform */ else if (STRPREFIX(opname, "TRANSFORM_OT")) { /* check for relevant editor */ switch (sl->spacetype) { case SPACE_VIEW3D: - km = WM_keymap_find_all(C, "3D View", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "3D View", sl->spacetype, 0); break; case SPACE_GRAPH: - km = WM_keymap_find_all(C, "Graph Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Graph Editor", sl->spacetype, 0); break; case SPACE_ACTION: - km = WM_keymap_find_all(C, "Dopesheet", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Dopesheet", sl->spacetype, 0); break; case SPACE_NLA: - km = WM_keymap_find_all(C, "NLA Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "NLA Editor", sl->spacetype, 0); break; case SPACE_IMAGE: - km = WM_keymap_find_all(C, "UV Editor", 0, 0); + km = WM_keymap_find_all(wm, "UV Editor", 0, 0); break; case SPACE_NODE: - km = WM_keymap_find_all(C, "Node Editor", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Node Editor", sl->spacetype, 0); break; case SPACE_SEQ: - km = WM_keymap_find_all(C, "Sequencer", sl->spacetype, 0); + km = WM_keymap_find_all(wm, "Sequencer", sl->spacetype, 0); break; } } |