From 3ebd58673fb9a8c5ef13048b2e8e8a4cb7bb3a4e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 8 Oct 2009 18:40:03 +0000 Subject: Key Configuration Keymaps are now saveable and configurable from the user preferences, note that editing one item in a keymap means the whole keymap is now defined by the user and will not be updated by Blender, an option for syncing might be added later. The outliner interface is still there, but I will probably remove it. There's actually 3 levels now: * Default builtin key configuration. * Key configuration loaded from .py file, for configs like Blender 2.4x or other 3D applications. * Keymaps edited by the user and saved in .B.blend. These can be saved to .py files as well to make creating distributable configurations easier. Also, user preferences sections were reorganized a bit, now there is: Interface, Editing, Input, Files and System. Implementation notes: * wmKeyConfig was added which represents a key configuration containing keymaps. * wmKeymapItem was renamed to wmKeyMapItem for consistency with wmKeyMap. * Modal maps are not wrapped yet. * User preferences DNA file reading did not support newdataadr() yet, added this now for reading keymaps. * Key configuration related settings are now RNA wrapped. * is_property_set and is_property_hidden python methods were added. --- source/blender/editors/space_script/script_intern.h | 2 +- source/blender/editors/space_script/script_ops.c | 4 ++-- source/blender/editors/space_script/space_script.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/editors/space_script') diff --git a/source/blender/editors/space_script/script_intern.h b/source/blender/editors/space_script/script_intern.h index 59858ee6289..7534fc98de1 100644 --- a/source/blender/editors/space_script/script_intern.h +++ b/source/blender/editors/space_script/script_intern.h @@ -36,7 +36,7 @@ void script_header_buttons(const bContext *C, ARegion *ar); /* script_ops.c */ void script_operatortypes(void); -void script_keymap(struct wmWindowManager *wm); +void script_keymap(struct wmKeyConfig *keyconf); /* script_edit.c */ void SCRIPT_OT_python_file_run(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_script/script_ops.c b/source/blender/editors/space_script/script_ops.c index 0e6ea9cf4fd..bf0a7e5769e 100644 --- a/source/blender/editors/space_script/script_ops.c +++ b/source/blender/editors/space_script/script_ops.c @@ -63,9 +63,9 @@ void script_operatortypes(void) WM_operatortype_append(SCRIPT_OT_python_run_ui_scripts); } -void script_keymap(wmWindowManager *wm) +void script_keymap(wmKeyConfig *keyconf) { - wmKeyMap *keymap= WM_keymap_find(wm, "Script", SPACE_SCRIPT, 0); + wmKeyMap *keymap= WM_keymap_find(keyconf, "Script", SPACE_SCRIPT, 0); /* TODO - this is just while we have no way to load a text datablock */ RNA_string_set(WM_keymap_add_item(keymap, "SCRIPT_OT_python_file_run", PKEY, KM_PRESS, KM_CTRL|KM_SHIFT|KM_ALT, 0)->ptr, "path", "test.py"); diff --git a/source/blender/editors/space_script/space_script.c b/source/blender/editors/space_script/space_script.c index a0e73082701..eae0f77d0e1 100644 --- a/source/blender/editors/space_script/space_script.c +++ b/source/blender/editors/space_script/space_script.c @@ -138,7 +138,7 @@ static void script_main_area_init(wmWindowManager *wm, ARegion *ar) UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_STANDARD, ar->winx, ar->winy); /* own keymap */ - keymap= WM_keymap_find(wm, "Script", SPACE_SCRIPT, 0); + keymap= WM_keymap_find(wm->defaultconf, "Script", SPACE_SCRIPT, 0); WM_event_add_keymap_handler_bb(&ar->handlers, keymap, &ar->v2d.mask, &ar->winrct); } -- cgit v1.2.3