This commit is contained in:
Kovid Goyal 2014-08-05 15:52:49 +05:30
parent 0c39b683b0
commit be9a51f3b2
2 changed files with 12 additions and 12 deletions

View File

@ -15,8 +15,7 @@ from calibre.gui2.viewer.toc import TOC
from calibre.gui2.widgets import ProgressIndicator from calibre.gui2.widgets import ProgressIndicator
from calibre.gui2 import ( from calibre.gui2 import (
Application, ORG_NAME, APP_UID, choose_files, info_dialog, error_dialog, Application, ORG_NAME, APP_UID, choose_files, info_dialog, error_dialog,
open_url, setup_gui_option_parser, detach_gui, open_url, setup_gui_option_parser, detach_gui)
workaround_broken_under_mouse)
from calibre.ebooks.oeb.iterator.book import EbookIterator from calibre.ebooks.oeb.iterator.book import EbookIterator
from calibre.ebooks import DRMError from calibre.ebooks import DRMError
from calibre.constants import islinux, filesystem_encoding 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) self.action_toggle_paged_mode.toggled[bool].connect(self.toggle_paged_mode)
if (start_in_fullscreen or self.view.document.start_in_fullscreen): if (start_in_fullscreen or self.view.document.start_in_fullscreen):
self.action_full_screen.trigger() 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): def toggle_paged_mode(self, checked, at_start=False):
in_paged_mode = not self.action_toggle_paged_mode.isChecked() in_paged_mode = not self.action_toggle_paged_mode.isChecked()

View File

@ -7,15 +7,15 @@ __license__ = 'GPL v3'
__copyright__ = '2014, Kovid Goyal <kovid at kovidgoyal.net>' __copyright__ = '2014, Kovid Goyal <kovid at kovidgoyal.net>'
import textwrap import textwrap
from functools import partial
from PyQt4.Qt import ( from PyQt5.Qt import (
QIcon, QWidget, Qt, QGridLayout, QScrollBar, QToolBar, QAction, QIcon, QWidget, Qt, QGridLayout, QScrollBar, QToolBar, QAction,
QToolButton, QMenu, QDoubleSpinBox, pyqtSignal, QLineEdit, QToolButton, QMenu, QDoubleSpinBox, pyqtSignal, QLineEdit,
QRegExpValidator, QRegExp, QPalette, QColor, QBrush, QPainter, QRegExpValidator, QRegExp, QPalette, QColor, QBrush, QPainter,
QDockWidget, QSize, QLabel) QDockWidget, QSize, QWebView, QLabel)
from PyQt4.QtWebKit import QWebView
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.main_window import MainWindow
from calibre.gui2.search_box import SearchBox2 from calibre.gui2.search_box import SearchBox2
from calibre.gui2.viewer.documentview import DocumentView from calibre.gui2.viewer.documentview import DocumentView
@ -278,6 +278,13 @@ class Main(MainWindow):
self.resize(653, 746) 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): def resizeEvent(self, ev):
if self.metadata.isVisible(): if self.metadata.isVisible():
self.metadata.update_layout() self.metadata.update_layout()