diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-11-16 07:59:44 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-11-16 08:00:37 +0300 |
commit | c1f5ccb11a4e685be07f6bad993b4fcefe6b2ed4 (patch) | |
tree | 20a7a57525558c1c77a5ca0ea560c30036df0c53 | |
parent | cb79b691cd1c96436f2ea7ea38526e0fc69de357 (diff) |
Keymap: allow filling in existing key-configs
Needed so we can get the preferences of a key-config
which are sent to a function that generates the contents.
-rw-r--r-- | release/scripts/modules/bpy_extras/keyconfig_utils.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/release/scripts/modules/bpy_extras/keyconfig_utils.py b/release/scripts/modules/bpy_extras/keyconfig_utils.py index 6de0cc2e205..4d5ec5286ec 100644 --- a/release/scripts/modules/bpy_extras/keyconfig_utils.py +++ b/release/scripts/modules/bpy_extras/keyconfig_utils.py @@ -488,6 +488,15 @@ def keymap_items_from_data(km, km_items, is_modal=False): _kmi_props_setattr(kmi_props, attr, value) +def keyconfig_init_from_data(kc, keyconfig_data): + # Load data in the format defined above. + # + # Runs at load time, keep this fast! + for (km_name, km_args, km_content) in keyconfig_data: + km = kc.keymaps.new(km_name, **km_args) + keymap_items_from_data(km, km_content["items"], is_modal=km_args.get("modal", False)) + + def keyconfig_import_from_data(name, keyconfig_data): # Load data in the format defined above. # @@ -496,10 +505,7 @@ def keyconfig_import_from_data(name, keyconfig_data): import bpy wm = bpy.context.window_manager kc = wm.keyconfigs.new(name) - for (km_name, km_args, km_content) in keyconfig_data: - km = kc.keymaps.new(km_name, **km_args) - keymap_items_from_data(km, km_content["items"], is_modal=km_args.get("modal", False)) - + keyconfig_init_from_data(kc, keyconfig_data) return kc |