From 42d055e511f9d296f2f68cd508795f0024faf8f8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 5 Mar 2020 08:58:47 +0530 Subject: [PATCH] Clicking on the current Virtual library in the dropdown menu now closes the virtual library. Fixes #1864229 [[Enhancement] Close VL when clicking on the VL in the VL menu](https://bugs.launchpad.net/calibre/+bug/1864229) --- src/calibre/gui2/search_restriction_mixin.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/search_restriction_mixin.py b/src/calibre/gui2/search_restriction_mixin.py index 43a45b1bb4..ae8c95a261 100644 --- a/src/calibre/gui2/search_restriction_mixin.py +++ b/src/calibre/gui2/search_restriction_mixin.py @@ -421,8 +421,12 @@ class SearchRestrictionMixin(object): virt_libs = db.prefs.get('virtual_libraries', {}) for vl in sorted(virt_libs.keys(), key=sort_key): - a = m.addAction(self.checked if vl == current_lib else self.empty, vl.replace('&', '&&')) - a.triggered.connect(partial(self.apply_virtual_library, library=vl)) + is_current = vl == current_lib + a = m.addAction(self.checked if is_current else self.empty, vl.replace('&', '&&')) + if is_current: + a.triggered.connect(self.clear_vl.click) + else: + a.triggered.connect(partial(self.apply_virtual_library, library=vl)) def virtual_library_menu_about_to_show(self): self.build_virtual_library_menu(self.virtual_library_menu)