diff options
author | William Reynish <billreynish> | 2018-07-02 18:36:51 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-07-02 18:40:20 +0300 |
commit | ac8b641b77e08e551a37feb7394349bbd1f0bbee (patch) | |
tree | 688e69115dd7d2c3a6b1c92a3abd0ab0deebb57d /release/scripts/startup/bl_ui/space_outliner.py | |
parent | ae6872e26f3732d632212d9940ed5abc0b6ad0ce (diff) |
Outliner: remove view menu, move more into RMB context menu and filter popover.
Diffstat (limited to 'release/scripts/startup/bl_ui/space_outliner.py')
-rw-r--r-- | release/scripts/startup/bl_ui/space_outliner.py | 94 |
1 files changed, 36 insertions, 58 deletions
diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 7bd3d10934e..19f3bcd3b1f 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -37,8 +37,8 @@ class OUTLINER_HT_header(Header): layout.prop(space, "display_mode", icon_only=True) - if display_mode in {'VIEW_LAYER'}: - layout.operator("outliner.collection_new", text="", icon='GROUP').nested = True + if display_mode == 'DATA_API': + OUTLINER_MT_editor_menus.draw_collapsible(context, layout) layout.separator_spacer() @@ -60,7 +60,13 @@ class OUTLINER_HT_header(Header): sub.active = space.use_filter_id_type sub.prop(space, "filter_id_type", text="", icon_only=True) - if space.display_mode == 'DATA_API': + if display_mode == 'VIEW_LAYER': + layout.operator("outliner.collection_new", text="", icon='GROUP').nested = True + + elif display_mode == 'ORPHAN_DATA': + layout.operator("outliner.orphans_purge", text="Purge") + + elif space.display_mode == 'DATA_API': layout.separator() row = layout.row(align=True) @@ -78,8 +84,6 @@ class OUTLINER_HT_header(Header): row = layout.row() row.label(text="No Keying Set Active") - OUTLINER_MT_editor_menus.draw_collapsible(context, layout) - class OUTLINER_MT_editor_menus(Menu): bl_idname = "OUTLINER_MT_editor_menus" @@ -92,14 +96,9 @@ class OUTLINER_MT_editor_menus(Menu): def draw_menus(layout, context): space = context.space_data - layout.menu("OUTLINER_MT_view") - if space.display_mode == 'DATA_API': layout.menu("OUTLINER_MT_edit_datablocks") - elif space.display_mode == 'ORPHAN_DATA': - layout.menu("OUTLINER_MT_edit_orphan_data") - class OUTLINER_MT_context(Menu): bl_label = "Outliner" @@ -107,33 +106,17 @@ class OUTLINER_MT_context(Menu): def draw(self, context): layout = self.layout - layout.menu("INFO_MT_area") - - -class OUTLINER_MT_view(Menu): - bl_label = "View" - - def draw(self, context): - layout = self.layout - - space = context.space_data - - layout.prop(space, "use_filter_complete", text="Exact Match Search") - layout.prop(space, "use_filter_case_sensitive", text="Case Sensitive Search") + layout.operator("outliner.show_one_level", text="Show One Level") + layout.operator("outliner.show_one_level", text="Hide One Level").open = False + layout.operator("outliner.show_hierarchy") layout.separator() - if space.display_mode != 'DATA_API': - layout.prop(space, "use_sort_alpha") - layout.prop(space, "show_restrict_columns") - layout.separator() - layout.operator("outliner.show_active") + layout.operator("outliner.show_active") layout.separator() - layout.operator("outliner.show_one_level", text="Show One Level") - layout.operator("outliner.show_one_level", text="Hide One Level").open = False - layout.operator("outliner.show_hierarchy") + layout.menu("INFO_MT_area") class OUTLINER_MT_edit_datablocks(Menu): @@ -151,13 +134,6 @@ class OUTLINER_MT_edit_datablocks(Menu): layout.operator("outliner.drivers_delete_selected") -class OUTLINER_MT_edit_orphan_data(Menu): - bl_label = "Edit" - - def draw(self, context): - layout = self.layout - layout.operator("outliner.orphans_purge") - class OUTLINER_MT_collection_view_layer(Menu): bl_label = "View Layer" @@ -273,50 +249,52 @@ class OUTLINER_PT_filter(Panel): space = context.space_data display_mode = space.display_mode - layout.prop(space, "use_filter_collection", text="Collections") + layout.prop(space, "use_filter_complete", text="Exact Match Search") + layout.prop(space, "use_filter_case_sensitive", text="Case Sensitive Search") layout.separator() - col = layout.column() - col.prop(space, "use_filter_object", text="Objects") - active = space.use_filter_object + if space.display_mode != 'DATA_API': + layout.prop(space, "use_sort_alpha") + layout.prop(space, "show_restrict_columns") + layout.separator() - sub = col.column(align=True) - sub.active = active - sub.prop(space, "filter_state", text="") - sub.prop(space, "use_filter_object_content", text="Object Contents") - sub.prop(space, "use_filter_children", text="Object Children") + col = layout.column(align=True) - layout.separator() + col.prop(space, "use_filter_collection", text="Collections", icon="GROUP") + col.prop(space, "use_filter_object", text="Objects", icon="OBJECT_DATAMODE") - col = layout.column_flow(align=True) - col.active = active + sub = col.column(align=True) + sub.active = space.use_filter_object if bpy.data.meshes: - col.prop(space, "use_filter_object_mesh", text="Meshes") + sub.prop(space, "use_filter_object_mesh", text="Meshes", icon="MESH_DATA") if bpy.data.armatures: - col.prop(space, "use_filter_object_armature", text="Armatures") + sub.prop(space, "use_filter_object_armature", text="Armatures", icon="ARMATURE_DATA") if bpy.data.lamps: - col.prop(space, "use_filter_object_lamp", text="Lamps") + sub.prop(space, "use_filter_object_lamp", text="Lamps", icon="LAMP_DATA") if bpy.data.cameras: - col.prop(space, "use_filter_object_camera", text="Cameras") + sub.prop(space, "use_filter_object_camera", text="Cameras", icon="CAMERA_DATA") - col.prop(space, "use_filter_object_empty", text="Empties") + sub.prop(space, "use_filter_object_empty", text="Empties", icon="EMPTY_DATA") if bpy.data.curves or \ bpy.data.metaballs or \ bpy.data.lightprobes or \ bpy.data.lattices or \ bpy.data.fonts or bpy.data.speakers: - col.prop(space, "use_filter_object_others", text="Others") + sub.prop(space, "use_filter_object_others", text="Others") + + subsub = sub.column(align=False) + subsub.prop(space, "filter_state", text="") + subsub.prop(space, "use_filter_object_content", text="Object Contents") + subsub.prop(space, "use_filter_children", text="Object Children") classes = ( OUTLINER_HT_header, OUTLINER_MT_editor_menus, - OUTLINER_MT_view, OUTLINER_MT_edit_datablocks, - OUTLINER_MT_edit_orphan_data, OUTLINER_MT_collection, OUTLINER_MT_collection_new, OUTLINER_MT_collection_view_layer, |