Make it easy to re-collapse packages after expanding many at once

This commit is contained in:
Ellwood Zwovic
2017-07-20 01:34:24 -07:00
parent 31ce5f7015
commit c9ab544af6

View File

@@ -649,7 +649,7 @@ class ViewPackage:
class WM_OT_package_toggle_expand(bpy.types.Operator):
bl_idname = "wm.package_toggle_expand"
bl_label = ""
bl_description = "Toggle display of extended information for given package"
bl_description = "Toggle display of extended information for given package (hold shift to collapse all other packages)"
bl_options = {'INTERNAL'}
log = logging.getLogger(__name__ + ".WM_OT_package_toggle_expand")
@@ -659,7 +659,7 @@ class WM_OT_package_toggle_expand(bpy.types.Operator):
description="Name of package to expand/collapse",
)
def execute(self, context):
def invoke(self, context, event):
try:
pkg = USERPREF_PT_packages.all_packages[self.package_name]
except KeyError:
@@ -667,6 +667,10 @@ class WM_OT_package_toggle_expand(bpy.types.Operator):
return {'CANCELLED'}
pkg.expanded = not pkg.expanded
if event.shift:
for pkgname in USERPREF_PT_packages.displayed_packages:
if not pkgname == self.package_name:
USERPREF_PT_packages.all_packages[pkgname].expanded = False
return {'FINISHED'}