Fix #1700217 [Virtual library button not pressed down](https://bugs.launchpad.net/calibre/+bug/1700217)

This commit is contained in:
Kovid Goyal 2017-06-28 19:51:24 +05:30
parent 9b118f35d2
commit 27e39f6885
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 5 additions and 6 deletions

View File

@ -181,6 +181,7 @@ class SearchBar(QFrame): # {{{
x = parent.virtual_library = QToolButton(self) x = parent.virtual_library = QToolButton(self)
x.setCursor(Qt.PointingHandCursor) x.setCursor(Qt.PointingHandCursor)
x.setPopupMode(x.InstantPopup)
x.setText(_('Virtual library')) x.setText(_('Virtual library'))
x.setAutoRaise(True) x.setAutoRaise(True)
x.setIcon(QIcon(I('lt.png'))) x.setIcon(QIcon(I('lt.png')))

View File

@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal <kovid at kovidgoyal.net>'
from functools import partial from functools import partial
from PyQt5.Qt import ( from PyQt5.Qt import (
Qt, QMenu, QPoint, QIcon, QDialog, QGridLayout, QLabel, QLineEdit, QComboBox, Qt, QMenu, QIcon, QDialog, QGridLayout, QLabel, QLineEdit, QComboBox,
QDialogButtonBox, QSize, QVBoxLayout, QListWidget, QRadioButton, QAction, QTextBrowser) QDialogButtonBox, QSize, QVBoxLayout, QListWidget, QRadioButton, QAction, QTextBrowser)
from calibre.gui2 import error_dialog, question_dialog, gprefs from calibre.gui2 import error_dialog, question_dialog, gprefs
@ -331,8 +331,9 @@ class SearchRestrictionMixin(object):
self.search_based_vl = None self.search_based_vl = None
self.virtual_library_menu = QMenu() self.virtual_library_menu = QMenu()
self.virtual_library.setMenu(self.virtual_library_menu)
self.virtual_library_menu.aboutToShow.connect(self.virtual_library_menu_about_to_show)
self.virtual_library.clicked.connect(self.virtual_library_clicked)
self.clear_vl.clicked.connect(lambda x: (self.apply_virtual_library(), self.clear_additional_restriction())) self.clear_vl.clicked.connect(lambda x: (self.apply_virtual_library(), self.clear_additional_restriction()))
self.virtual_library_tooltip = \ self.virtual_library_tooltip = \
@ -364,7 +365,7 @@ class SearchRestrictionMixin(object):
self.apply_virtual_library(cd.library_name) self.apply_virtual_library(cd.library_name)
self.rebuild_vl_tabs() self.rebuild_vl_tabs()
def virtual_library_clicked(self): def virtual_library_menu_about_to_show(self):
m = self.virtual_library_menu m = self.virtual_library_menu
m.clear() m.clear()
@ -420,9 +421,6 @@ class SearchRestrictionMixin(object):
a = m.addAction(self.checked if vl == current_lib else self.empty, vl.replace('&', '&&')) a = m.addAction(self.checked if vl == current_lib else self.empty, vl.replace('&', '&&'))
a.triggered.connect(partial(self.apply_virtual_library, library=vl)) a.triggered.connect(partial(self.apply_virtual_library, library=vl))
p = QPoint(0, self.virtual_library.height())
self.virtual_library_menu.popup(self.virtual_library.mapToGlobal(p))
def rebuild_vl_tabs(self): def rebuild_vl_tabs(self):
self.vl_tabs.rebuild() self.vl_tabs.rebuild()