diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-11-18 04:41:05 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-11-18 04:45:14 +0300 |
commit | c57951d903b9c805bd632aafa3fda01713a2dffb (patch) | |
tree | 4232a8e0b0c7967c15b3e61db39f05516a982b8c /release/scripts/presets/keyconfig/blender.py | |
parent | 50a4a899fd84fe2abd0fd2658e2f1bbe421527f6 (diff) |
Keymap: add user-prefs to the default keyconfig
Currently the only option is to use select-all as a toggle.
Diffstat (limited to 'release/scripts/presets/keyconfig/blender.py')
-rw-r--r-- | release/scripts/presets/keyconfig/blender.py | 53 |
1 files changed, 43 insertions, 10 deletions
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() |