diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 96cf73a1db..a998ecf353 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -15,8 +15,7 @@ from calibre.gui2.viewer.toc import TOC from calibre.gui2.widgets import ProgressIndicator from calibre.gui2 import ( Application, ORG_NAME, APP_UID, choose_files, info_dialog, error_dialog, - open_url, setup_gui_option_parser, detach_gui, - workaround_broken_under_mouse) + open_url, setup_gui_option_parser, detach_gui) from calibre.ebooks.oeb.iterator.book import EbookIterator from calibre.ebooks import DRMError from calibre.constants import islinux, filesystem_encoding @@ -156,12 +155,6 @@ class EbookViewer(MainWindow): self.action_toggle_paged_mode.toggled[bool].connect(self.toggle_paged_mode) if (start_in_fullscreen or self.view.document.start_in_fullscreen): self.action_full_screen.trigger() - if workaround_broken_under_mouse is not None: - for bar in (self.tool_bar, self.tool_bar2): - for ac in bar.actions(): - m = ac.menu() - if m is not None: - m.aboutToHide.connect(partial(workaround_broken_under_mouse, bar.widgetForAction(ac))) def toggle_paged_mode(self, checked, at_start=False): in_paged_mode = not self.action_toggle_paged_mode.isChecked() diff --git a/src/calibre/gui2/viewer/ui.py b/src/calibre/gui2/viewer/ui.py index 8010bf61d2..311484634d 100644 --- a/src/calibre/gui2/viewer/ui.py +++ b/src/calibre/gui2/viewer/ui.py @@ -7,15 +7,15 @@ __license__ = 'GPL v3' __copyright__ = '2014, Kovid Goyal ' import textwrap +from functools import partial -from PyQt4.Qt import ( +from PyQt5.Qt import ( QIcon, QWidget, Qt, QGridLayout, QScrollBar, QToolBar, QAction, QToolButton, QMenu, QDoubleSpinBox, pyqtSignal, QLineEdit, QRegExpValidator, QRegExp, QPalette, QColor, QBrush, QPainter, - QDockWidget, QSize, QLabel) -from PyQt4.QtWebKit import QWebView + QDockWidget, QSize, QWebView, QLabel) -from calibre.gui2 import rating_font +from calibre.gui2 import rating_font, workaround_broken_under_mouse from calibre.gui2.main_window import MainWindow from calibre.gui2.search_box import SearchBox2 from calibre.gui2.viewer.documentview import DocumentView @@ -278,6 +278,13 @@ class Main(MainWindow): self.resize(653, 746) + if workaround_broken_under_mouse is not None: + for bar in (self.tool_bar, self.tool_bar2): + for ac in bar.actions(): + m = ac.menu() + if m is not None: + m.aboutToHide.connect(partial(workaround_broken_under_mouse, bar.widgetForAction(ac))) + def resizeEvent(self, ev): if self.metadata.isVisible(): self.metadata.update_layout()