From c9ab544af617f24e0e2cf8412ea982efc2172f6b Mon Sep 17 00:00:00 2001 From: Ellwood Zwovic Date: Thu, 20 Jul 2017 01:34:24 -0700 Subject: [PATCH] Make it easy to re-collapse packages after expanding many at once --- bpkg/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bpkg/__init__.py b/bpkg/__init__.py index b4b3b5c..c5761b6 100644 --- a/bpkg/__init__.py +++ b/bpkg/__init__.py @@ -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'}