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:
authorJulian Eisel <julian@blender.org>2020-03-06 18:22:28 +0300
committerJulian Eisel <julian@blender.org>2020-03-06 18:27:13 +0300
commitd5572eacc5958db38ac4a4a32eddb3a2cd24bf68 (patch)
tree5252d8f509dae02bf9c137a1710c073d5bbac592 /source/blender/windowmanager/intern/wm_keymap_utils.c
parentb242cc67928a6858a835c088e4d3ea8822c83168 (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.c107
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;
}
}