mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Remove workaround for qtoolbar bug on linux in Qt < 5.4
The linux calibre binary builds now use Qt 5.4.1
This commit is contained in:
parent
0ca0f22446
commit
a005cc5f56
@ -1289,15 +1289,3 @@ def event_type_name(ev_or_etype):
|
|||||||
if num == etype:
|
if num == etype:
|
||||||
return name
|
return name
|
||||||
return 'UnknownEventType'
|
return 'UnknownEventType'
|
||||||
|
|
||||||
if islinux or isbsd:
|
|
||||||
def workaround_broken_under_mouse(ch):
|
|
||||||
import sip
|
|
||||||
from PyQt5.Qt import QCursor, QToolButton
|
|
||||||
# See https://bugreports.qt-project.org/browse/QTBUG-40233
|
|
||||||
if isinstance(ch, QToolButton) and not sip.isdeleted(ch):
|
|
||||||
ch.setAttribute(Qt.WA_UnderMouse, ch.rect().contains(ch.mapFromGlobal(QCursor.pos())))
|
|
||||||
ch.update()
|
|
||||||
else:
|
|
||||||
workaround_broken_under_mouse = None
|
|
||||||
|
|
||||||
|
@ -7,15 +7,13 @@ __license__ = 'GPL v3'
|
|||||||
__copyright__ = '2011, Kovid Goyal <kovid@kovidgoyal.net>'
|
__copyright__ = '2011, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
from functools import partial
|
|
||||||
|
|
||||||
import sip
|
import sip
|
||||||
from PyQt5.Qt import (
|
from PyQt5.Qt import (
|
||||||
Qt, QAction, QMenu, QObject, QToolBar, QToolButton, QSize, pyqtSignal, QTimer)
|
Qt, QAction, QMenu, QObject, QToolBar, QToolButton, QSize, pyqtSignal, QTimer)
|
||||||
|
|
||||||
from calibre.constants import isosx
|
from calibre.constants import isosx
|
||||||
from calibre.gui2.throbber import create_donate_widget
|
from calibre.gui2.throbber import create_donate_widget
|
||||||
from calibre.gui2 import gprefs, workaround_broken_under_mouse, native_menubar_defaults
|
from calibre.gui2 import gprefs, native_menubar_defaults
|
||||||
|
|
||||||
class ToolBar(QToolBar): # {{{
|
class ToolBar(QToolBar): # {{{
|
||||||
|
|
||||||
@ -110,8 +108,6 @@ class ToolBar(QToolBar): # {{{
|
|||||||
ch.setAutoRaise(True)
|
ch.setAutoRaise(True)
|
||||||
m = ac.menu()
|
m = ac.menu()
|
||||||
if m is not None:
|
if m is not None:
|
||||||
if workaround_broken_under_mouse is not None:
|
|
||||||
m.aboutToHide.connect(partial(workaround_broken_under_mouse, ch))
|
|
||||||
if menu_mode is not None:
|
if menu_mode is not None:
|
||||||
ch.setPopupMode(menu_mode)
|
ch.setPopupMode(menu_mode)
|
||||||
return ch
|
return ch
|
||||||
|
@ -19,7 +19,7 @@ from calibre.ebooks.chardet import replace_encoding_declarations
|
|||||||
from calibre.gui2.tweak_book import (
|
from calibre.gui2.tweak_book import (
|
||||||
actions, current_container, tprefs, dictionaries, editor_toolbar_actions,
|
actions, current_container, tprefs, dictionaries, editor_toolbar_actions,
|
||||||
editor_name, editors, update_mark_text_action)
|
editor_name, editors, update_mark_text_action)
|
||||||
from calibre.gui2 import error_dialog, open_url, workaround_broken_under_mouse
|
from calibre.gui2 import error_dialog, open_url
|
||||||
from calibre.gui2.tweak_book.editor import SPELL_PROPERTY, LINK_PROPERTY, TAG_NAME_PROPERTY, CSS_PROPERTY
|
from calibre.gui2.tweak_book.editor import SPELL_PROPERTY, LINK_PROPERTY, TAG_NAME_PROPERTY, CSS_PROPERTY
|
||||||
from calibre.gui2.tweak_book.editor.help import help_url
|
from calibre.gui2.tweak_book.editor.help import help_url
|
||||||
from calibre.gui2.tweak_book.editor.text import TextEdit
|
from calibre.gui2.tweak_book.editor.text import TextEdit
|
||||||
@ -340,19 +340,11 @@ class Editor(QMainWindow):
|
|||||||
w.setContextMenuPolicy(Qt.CustomContextMenu)
|
w.setContextMenuPolicy(Qt.CustomContextMenu)
|
||||||
w.customContextMenuRequested.connect(w.showMenu)
|
w.customContextMenuRequested.connect(w.showMenu)
|
||||||
self._build_insert_tag_button_menu()
|
self._build_insert_tag_button_menu()
|
||||||
if workaround_broken_under_mouse is not None:
|
|
||||||
try:
|
|
||||||
self.insert_tag_menu.aboutToHide.disconnect()
|
|
||||||
except TypeError:
|
|
||||||
pass
|
|
||||||
self.insert_tag_menu.aboutToHide.connect(partial(workaround_broken_under_mouse, w))
|
|
||||||
elif name == 'change-paragraph':
|
elif name == 'change-paragraph':
|
||||||
m = ac.m = QMenu()
|
m = ac.m = QMenu()
|
||||||
ac.setMenu(m)
|
ac.setMenu(m)
|
||||||
ch = bar.widgetForAction(ac)
|
ch = bar.widgetForAction(ac)
|
||||||
ch.setPopupMode(QToolButton.InstantPopup)
|
ch.setPopupMode(QToolButton.InstantPopup)
|
||||||
if workaround_broken_under_mouse is not None:
|
|
||||||
m.aboutToHide.connect(partial(workaround_broken_under_mouse, ch))
|
|
||||||
for name in tuple('h%d' % d for d in range(1, 7)) + ('p',):
|
for name in tuple('h%d' % d for d in range(1, 7)) + ('p',):
|
||||||
m.addAction(actions['rename-block-tag-%s' % name])
|
m.addAction(actions['rename-block-tag-%s' % name])
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ __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 PyQt5.Qt import (
|
from PyQt5.Qt import (
|
||||||
QIcon, QWidget, Qt, QGridLayout, QScrollBar, QToolBar, QAction,
|
QIcon, QWidget, Qt, QGridLayout, QScrollBar, QToolBar, QAction,
|
||||||
@ -15,7 +14,7 @@ from PyQt5.Qt import (
|
|||||||
QRegExpValidator, QRegExp, QPalette, QColor, QBrush, QPainter,
|
QRegExpValidator, QRegExp, QPalette, QColor, QBrush, QPainter,
|
||||||
QDockWidget, QSize, QWebView, QLabel, QVBoxLayout)
|
QDockWidget, QSize, QWebView, QLabel, QVBoxLayout)
|
||||||
|
|
||||||
from calibre.gui2 import rating_font, workaround_broken_under_mouse
|
from calibre.gui2 import rating_font
|
||||||
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
|
||||||
@ -336,13 +335,6 @@ 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()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user