diff --git a/release/scripts/ui/space_userpref_keymap.py b/release/scripts/ui/space_userpref_keymap.py index d255b518919..c3b56cf757c 100644 --- a/release/scripts/ui/space_userpref_keymap.py +++ b/release/scripts/ui/space_userpref_keymap.py @@ -211,6 +211,19 @@ class InputKeyMapPanel(bpy.types.Panel): for entry in children: self.draw_entry(display_keymaps, entry, col, level + 1) + @staticmethod + def draw_kmi_properties(box, properties, title=None): + box.separator() + if title: + box.label(text=title) + flow = box.column_flow(columns=2) + for pname, value in properties.bl_rna.properties.items(): + if pname != "rna_type" and not properties.is_property_hidden(pname): + if isinstance(value, bpy.types.OperatorProperties): + __class__.draw_kmi_properties(box, value, title=pname) + else: + flow.prop(properties, pname) + def draw_kmi(self, display_keymaps, kc, km, kmi, layout, level): map_type = kmi.map_type @@ -293,22 +306,10 @@ class InputKeyMapPanel(bpy.types.Panel): subrow.prop(kmi, "oskey", text="Cmd") subrow.prop(kmi, "key_modifier", text="", event=True) - def display_properties(properties, title=None): - box.separator() - if title: - box.label(text=title) - flow = box.column_flow(columns=2) - for pname, value in properties.bl_rna.properties.items(): - if pname != "rna_type" and not properties.is_property_hidden(pname): - if isinstance(value, bpy.types.OperatorProperties): - display_properties(value, title=pname) - else: - flow.prop(properties, pname) - # Operator properties props = kmi.properties if props is not None: - display_properties(props) + __class__.draw_kmi_properties(box, props) # Modal key maps attached to this operator if not km.is_modal: @@ -387,7 +388,6 @@ def export_properties(prefix, properties, lines=None): lines = [] for pname, value in properties.items(): - print() if not properties.is_property_hidden(pname): if isinstance(value, bpy.types.OperatorProperties): export_properties(prefix + "." + pname, value, lines)