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:
authorCampbell Barton <ideasman42@gmail.com>2018-07-14 11:15:46 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-07-14 11:15:46 +0300
commit50e3cd0bb3ffd92b7811887e99e69e581813c8ed (patch)
treebae4ded29833eeb8c74788ff22ecd688a50d158f
parent43973410f3c0a6ab17be3a7899c64fee1787c61e (diff)
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.
-rw-r--r--release/scripts/modules/bpy_extras/keyconfig_utils.py8
-rw-r--r--release/scripts/startup/bl_operators/wm.py6
2 files changed, 11 insertions, 3 deletions
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'}