UI: Fix aligned popovers not always turning inactive

Popovers which are aligned with properties should turn themself
(and the panel they open) inactive when the corresponding property
toggle is turned off. A notable exception is the snap settings
popover, as snapping can still be used when the toggle is off.

Differential Revision: https://developer.blender.org/D8584
This commit is contained in:
Red Mser 2020-08-20 10:34:55 -04:00 committed by Hans Goudey
parent 263148dbac
commit 12dd08ef52
1 changed files with 10 additions and 2 deletions

View File

@ -5942,7 +5942,7 @@ class VIEW3D_PT_gizmo_display(Panel):
layout.separator()
col = layout.column()
col.active = view.show_gizmo_context
col.active = view.show_gizmo and view.show_gizmo_context
col.label(text="Object Gizmos")
col.prop(scene.transform_orientation_slots[1], "type", text="")
col.prop(view, "show_gizmo_object_translate", text="Move")
@ -5953,6 +5953,7 @@ class VIEW3D_PT_gizmo_display(Panel):
# Match order of object type visibility
col = layout.column()
col.active = view.show_gizmo
col.label(text="Empty")
col.prop(view, "show_gizmo_empty_image", text="Image")
col.prop(view, "show_gizmo_empty_force_field", text="Force Field")
@ -6111,8 +6112,12 @@ class VIEW3D_PT_overlay_motion_tracking(Panel):
bl_label = "Motion Tracking"
def draw_header(self, context):
layout = self.layout
view = context.space_data
self.layout.prop(view, "show_reconstruction", text=self.bl_label)
overlay = view.overlay
display_all = overlay.show_overlays
layout.active = display_all
layout.prop(view, "show_reconstruction", text=self.bl_label)
def draw(self, context):
layout = self.layout
@ -6134,6 +6139,7 @@ class VIEW3D_PT_overlay_motion_tracking(Panel):
sub.prop(view, "show_bundle_names", text="Marker Names")
col = layout.column()
col.active = display_all
col.label(text="Tracks:")
row = col.row(align=True)
row.prop(view, "tracks_display_type", text="")
@ -6569,6 +6575,8 @@ class VIEW3D_PT_proportional_edit(Panel):
layout = self.layout
tool_settings = context.tool_settings
col = layout.column()
col.active = (tool_settings.use_proportional_edit_objects if context.mode == 'OBJECT'
else tool_settings.use_proportional_edit)
if context.mode != 'OBJECT':
col.prop(tool_settings, "use_proportional_connected")