[Bf-blender-cvs] [50e3cd0bb3f] master: Keymap: option to export all keymaps
Campbell Barton
noreply at git.blender.org
Sat Jul 14 10:17:58 CEST 2018
Commit: 50e3cd0bb3ffd92b7811887e99e69e581813c8ed
Author: Campbell Barton
Date: Sat Jul 14 10:15:46 2018 +0200
Branches: master
https://developer.blender.org/rB50e3cd0bb3ffd92b7811887e99e69e581813c8ed
Keymap: option to export all keymaps
Useful to store a snapshot of the current keymap state
so changes to the default keymap are ignored.
Also useful for testing keymap export works properly.
===================================================================
M release/scripts/modules/bpy_extras/keyconfig_utils.py
M release/scripts/startup/bl_operators/wm.py
===================================================================
diff --git a/release/scripts/modules/bpy_extras/keyconfig_utils.py b/release/scripts/modules/bpy_extras/keyconfig_utils.py
index 3a9570a57c4..0ff6595eca9 100644
--- a/release/scripts/modules/bpy_extras/keyconfig_utils.py
+++ b/release/scripts/modules/bpy_extras/keyconfig_utils.py
@@ -296,8 +296,10 @@ def _kmistr(kmi, is_modal):
return "".join(s)
-def keyconfig_export(wm, kc, filepath):
-
+def keyconfig_export(
+ wm, kc, filepath, *,
+ all_keymaps=False,
+):
f = open(filepath, "w")
f.write("import bpy\n")
@@ -327,7 +329,7 @@ def keyconfig_export(wm, kc, filepath):
keymaps = []
edited_kc = FakeKeyConfig()
for km in wm.keyconfigs.user.keymaps:
- if km.is_user_modified:
+ if all_keymaps or km.is_user_modified:
edited_kc.keymaps.append(km)
# merge edited keymaps with non-default keyconfig, if it exists
if kc != wm.keyconfigs.default:
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 5b12f6196a4..238c34f6853 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -1629,6 +1629,11 @@ class WM_OT_keyconfig_export(Operator):
bl_idname = "wm.keyconfig_export"
bl_label = "Export Key Configuration..."
+ all_keymaps = BoolProperty(
+ name="All Keymaps",
+ default=False,
+ description="Write all keymaps (not just user modified)",
+ )
filepath = StringProperty(
subtype='FILE_PATH',
default="keymap.py",
@@ -1664,6 +1669,7 @@ class WM_OT_keyconfig_export(Operator):
wm,
wm.keyconfigs.active,
self.filepath,
+ all_keymaps=self.all_keymaps,
)
return {'FINISHED'}
More information about the Bf-blender-cvs
mailing list