[Bf-blender-cvs] [c57951d903b] blender2.8: Keymap: add user-prefs to the default keyconfig

Campbell Barton noreply at git.blender.org
Sun Nov 18 02:45:48 CET 2018


Commit: c57951d903b9c805bd632aafa3fda01713a2dffb
Author: Campbell Barton
Date:   Sun Nov 18 12:41:05 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBc57951d903b9c805bd632aafa3fda01713a2dffb

Keymap: add user-prefs to the default keyconfig

Currently the only option is to use select-all as a toggle.

===================================================================

M	release/scripts/presets/keyconfig/blender.py

===================================================================

diff --git a/release/scripts/presets/keyconfig/blender.py b/release/scripts/presets/keyconfig/blender.py
index 3e3e7b711ca..1f589acf963 100644
--- a/release/scripts/presets/keyconfig/blender.py
+++ b/release/scripts/presets/keyconfig/blender.py
@@ -1,22 +1,55 @@
 import os
 import bpy
+from bpy.props import (
+    BoolProperty,
+)
 
 userpref = bpy.context.user_preferences
 
+idname = os.path.splitext(os.path.basename(__file__))[0]
+
+def update(_self, _context):
+    _load()
+
+
+class Prefs(bpy.types.KeyConfigPreferences):
+    bl_idname = idname
+
+    use_select_all_toggle: BoolProperty(
+        name="Select All Toggles",
+        description=(
+            "Causes select-all (A-key) to de-select in the case a selection exists"
+        ),
+        default=False,
+        update=update,
+    )
+
+    def draw(self, layout):
+        row = layout.row()
+        row.prop(self, "use_select_all_toggle")
+
+
 from bpy_extras.keyconfig_utils import (
-    keyconfig_import_from_data,
+    keyconfig_init_from_data,
     keyconfig_module_from_preset,
 )
 
-_mod = keyconfig_module_from_preset(os.path.join("keymap_data", "blender_default"), __file__)
-keyconfig_data = _mod.generate_keymaps(
-    _mod.KeymapParams(
-        select_mouse=userpref.inputs.select_mouse,
-    ),
-)
+mod = keyconfig_module_from_preset(os.path.join("keymap_data", "blender_default"), __file__)
 
-idname = os.path.splitext(os.path.basename(__file__))[0]
+def _load():
+    kc = bpy.context.window_manager.keyconfigs.new(idname)
+    kc_prefs = kc.preferences
 
-if __name__ == "__main__":
-    kc = keyconfig_import_from_data(idname, keyconfig_data)
+    keyconfig_data = mod.generate_keymaps(
+        mod.KeymapParams(
+            select_mouse=userpref.inputs.select_mouse,
+            use_select_all_toggle=kc_prefs.use_select_all_toggle,
+        ),
+    )
+    keyconfig_init_from_data(kc, keyconfig_data)
     kc.has_select_mouse = True  # Support switching select mouse
+
+
+if __name__ == "__main__":
+    bpy.utils.register_class(Prefs)
+    _load()



More information about the Bf-blender-cvs mailing list