[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