From aea66db0189619472115ec183ed472d2ffe199ef Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 13 Mar 2014 08:52:58 +0530 Subject: [PATCH] Show the search expression for the virtual library in a tooltip when hovering over the tab for the virtual library. Fixes #1291691 [[Enhancement] VL search expression tooltip on hover](https://bugs.launchpad.net/calibre/+bug/1291691) --- src/calibre/gui2/init.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index 7c952ebaf3..2a626f784a 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -315,7 +315,8 @@ class VLTabs(QTabBar): # {{{ def rebuild(self): self.currentChanged.disconnect(self.tab_changed) db = self.current_db - virt_libs = frozenset(db.prefs.get('virtual_libraries', {})) + vl_map = db.prefs.get('virtual_libraries', {}) + virt_libs = frozenset(vl_map) hidden = frozenset(db.prefs['virt_libs_hidden']) if hidden - virt_libs: db.prefs['virt_libs_hidden'] = list(hidden.intersection(virt_libs)) @@ -328,6 +329,9 @@ class VLTabs(QTabBar): # {{{ order = {x:i for i, x in enumerate(order)} for i, vl in enumerate(sorted(virt_libs, key=lambda x:(order.get(x, 0), sort_key(x)))): self.addTab(vl.replace('&', '&&') or _('All books')) + sexp = vl_map.get(vl, None) + if sexp is not None: + self.setTabToolTip(i, _('Search expression for this virtual library:') + '\n\n' + sexp) self.setTabData(i, vl) if vl == current_lib: current_idx = i