diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 71892ae8e6..33ab90a5fd 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -18,7 +18,7 @@ from PyQt5.Qt import ( QUndoStack) from calibre.gui2.widgets import EnLineEdit, FormatList as _FormatList, ImageView -from calibre.gui2.widgets2 import access_key, populate_standard_spinbox_context_menu +from calibre.gui2.widgets2 import access_key, populate_standard_spinbox_context_menu, RightClickButton from calibre.utils.icu import sort_key from calibre.utils.config import tweaks, prefs from calibre.ebooks.metadata import ( @@ -180,15 +180,6 @@ def make_undoable(spinbox): return UndoableSpinbox -class RightClickButton(QToolButton): - - def mousePressEvent(self, ev): - if ev.button() == Qt.RightButton and self.menu() is not None: - self.showMenu() - ev.accept() - return - return QToolButton.mousePressEvent(self, ev) - # Title {{{ class TitleEdit(EnLineEdit, ToMetadataMixin): diff --git a/src/calibre/gui2/widgets2.py b/src/calibre/gui2/widgets2.py index 4f05e01b8a..edb438a334 100644 --- a/src/calibre/gui2/widgets2.py +++ b/src/calibre/gui2/widgets2.py @@ -6,7 +6,9 @@ from __future__ import (unicode_literals, division, absolute_import, __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' -from PyQt5.Qt import QPushButton, QPixmap, QIcon, QColor, Qt, QColorDialog, pyqtSignal, QKeySequence +from PyQt5.Qt import ( + QPushButton, QPixmap, QIcon, QColor, Qt, QColorDialog, pyqtSignal, + QKeySequence, QToolButton) from calibre.gui2.complete2 import LineEdit, EditWithComplete from calibre.gui2.widgets import history @@ -120,3 +122,12 @@ def populate_standard_spinbox_context_menu(spinbox, menu, add_clear=False): m.addAction(_('Step &down'), spinbox.stepDown) m.setAttribute(Qt.WA_DeleteOnClose) +class RightClickButton(QToolButton): + + def mousePressEvent(self, ev): + if ev.button() == Qt.RightButton and self.menu() is not None: + self.showMenu() + ev.accept() + return + return QToolButton.mousePressEvent(self, ev) +