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:
Diffstat (limited to 'release/scripts/ui/space_userpref_keymap.py')
-rw-r--r--release/scripts/ui/space_userpref_keymap.py35
1 files changed, 23 insertions, 12 deletions
diff --git a/release/scripts/ui/space_userpref_keymap.py b/release/scripts/ui/space_userpref_keymap.py
index 0cdebd4734c..a78ef1be36f 100644
--- a/release/scripts/ui/space_userpref_keymap.py
+++ b/release/scripts/ui/space_userpref_keymap.py
@@ -124,10 +124,11 @@ def _merge_keymaps(kc1, kc2):
return merged_keymaps
-class PREFS_MT_keyconfigs(bpy.types.Menu):
+class USERPREF_MT_keyconfigs(bpy.types.Menu):
bl_label = "KeyPresets"
preset_subdir = "keyconfig"
preset_operator = "wm.keyconfig_activate"
+
def draw(self, context):
props = self.layout.operator("wm.context_set_value", text="Blender (default)")
props.data_path = "window_manager.keyconfigs.active"
@@ -279,7 +280,7 @@ class InputKeyMapPanel(bpy.types.Panel):
else:
row.label()
- if kmi.id:
+ if not kmi.is_user_defined:
op = row.operator("wm.keyitem_restore", text="", icon='BACK')
op.item_id = kmi.id
op = row.operator("wm.keyitem_remove", text="", icon='X')
@@ -379,15 +380,15 @@ class InputKeyMapPanel(bpy.types.Panel):
subcol = subsplit.column()
row = subcol.row(align=True)
-
+
#row.prop_search(wm.keyconfigs, "active", wm, "keyconfigs", text="Key Config:")
text = bpy.path.display_name(context.window_manager.keyconfigs.active.name)
if not text:
text = "Blender (default)"
- row.menu("PREFS_MT_keyconfigs", text=text)
+ row.menu("USERPREF_MT_keyconfigs", text=text)
row.operator("wm.keyconfig_preset_add", text="", icon="ZOOMIN")
row.operator("wm.keyconfig_preset_add", text="", icon="ZOOMOUT").remove_active = True
-
+
# layout.context_pointer_set("keyconfig", wm.keyconfigs.active)
# row.operator("wm.keyconfig_remove", text="", icon='X')
@@ -575,7 +576,7 @@ class WM_OT_keyconfig_import(bpy.types.Operator):
def invoke(self, context, event):
wm = context.window_manager
- wm.add_fileselect(self)
+ wm.fileselect_add(self)
return {'RUNNING_MODAL'}
# This operator is also used by interaction presets saving - AddPresetBase
@@ -605,7 +606,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator):
f.write("import bpy\n")
f.write("import os\n\n")
f.write("wm = bpy.context.window_manager\n")
- f.write("kc = wm.keyconfigs.new(os.path.splitext(os.path.basename(__file__))[0])\n\n") # keymap must be created by caller
+ f.write("kc = wm.keyconfigs.new(os.path.splitext(os.path.basename(__file__))[0])\n\n") # keymap must be created by caller
# Generate a list of keymaps to export:
#
@@ -665,7 +666,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator):
def invoke(self, context, event):
wm = context.window_manager
- wm.add_fileselect(self)
+ wm.fileselect_add(self)
return {'RUNNING_MODAL'}
@@ -708,12 +709,18 @@ class WM_OT_keyitem_restore(bpy.types.Operator):
item_id = IntProperty(name="Item Identifier", description="Identifier of the item to remove")
+ @classmethod
+ def poll(cls, context):
+ km = context.keymap
+ return km.is_user_defined
+
def execute(self, context):
wm = context.window_manager
km = context.keymap
kmi = km.items.from_id(self.item_id)
- km.restore_item_to_default(kmi)
+ if not kmi.is_user_defined:
+ km.restore_item_to_default(kmi)
return {'FINISHED'}
@@ -749,8 +756,12 @@ class WM_OT_keyitem_remove(bpy.types.Operator):
item_id = IntProperty(name="Item Identifier", description="Identifier of the item to remove")
+ @classmethod
+ def poll(cls, context):
+ km = context.keymap
+ return km.is_user_defined
+
def execute(self, context):
- wm = context.window_manager
km = context.keymap
kmi = km.items.from_id(self.item_id)
km.items.remove(kmi)
@@ -776,11 +787,11 @@ class WM_OT_keyconfig_remove(bpy.types.Operator):
def register():
- pass
+ bpy.utils.register_module(__name__)
def unregister():
- pass
+ bpy.utils.unregister_module(__name__)
if __name__ == "__main__":
register()