UI: only show API defined custom properties when Developer Extras is on.

These are intended to behave just like any other builting property, so
no to always show them in the Custom Properties panels for regular users.
This commit is contained in:
Brecht Van Lommel 2018-07-12 16:36:44 +02:00
parent 5e2804a40b
commit dc00d66c89
1 changed files with 7 additions and 2 deletions

View File

@ -129,6 +129,7 @@ def draw(layout, context, context_member, property_type, use_edit=True):
props.data_path = context_member
del row
show_developer_ui = context.user_preferences.view.show_developer_ui
rna_properties = {prop.identifier for prop in rna_item.bl_rna.properties if prop.is_runtime} if items else None
for key, val in items:
@ -136,6 +137,12 @@ def draw(layout, context, context_member, property_type, use_edit=True):
if key == '_RNA_UI':
continue
is_rna = (key in rna_properties)
# only show API defined for developers
if is_rna and not show_developer_ui:
continue
row = layout.row()
to_dict = getattr(val, "to_dict", None)
to_list = getattr(val, "to_list", None)
@ -161,8 +168,6 @@ def draw(layout, context, context_member, property_type, use_edit=True):
row.label(text=key, translate=False)
# explicit exception for arrays
is_rna = (key in rna_properties)
if to_dict or to_list:
row.label(text=val_draw, translate=False)
else: