mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix #963559 (Keyboard shortcuts for text formatting not working in 0.8.44)
This commit is contained in:
parent
34138508bc
commit
328308931c
@ -9,10 +9,10 @@ import re, os
|
|||||||
|
|
||||||
from lxml import html
|
from lxml import html
|
||||||
|
|
||||||
from PyQt4.Qt import QApplication, QFontInfo, QSize, QWidget, QPlainTextEdit, \
|
from PyQt4.Qt import (QApplication, QFontInfo, QSize, QWidget, QPlainTextEdit,
|
||||||
QToolBar, QVBoxLayout, QAction, QIcon, Qt, QTabWidget, QUrl, \
|
QToolBar, QVBoxLayout, QAction, QIcon, Qt, QTabWidget, QUrl,
|
||||||
QSyntaxHighlighter, QColor, QChar, QColorDialog, QMenu, QInputDialog, \
|
QSyntaxHighlighter, QColor, QChar, QColorDialog, QMenu, QInputDialog,
|
||||||
QHBoxLayout
|
QHBoxLayout, QKeySequence)
|
||||||
from PyQt4.QtWebKit import QWebView, QWebPage
|
from PyQt4.QtWebKit import QWebView, QWebPage
|
||||||
|
|
||||||
from calibre.ebooks.chardet import xml_to_unicode
|
from calibre.ebooks.chardet import xml_to_unicode
|
||||||
@ -32,6 +32,7 @@ class PageAction(QAction): # {{{
|
|||||||
type=Qt.QueuedConnection)
|
type=Qt.QueuedConnection)
|
||||||
self.page_action.changed.connect(self.update_state,
|
self.page_action.changed.connect(self.update_state,
|
||||||
type=Qt.QueuedConnection)
|
type=Qt.QueuedConnection)
|
||||||
|
self.update_state()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def page_action(self):
|
def page_action(self):
|
||||||
@ -66,6 +67,12 @@ class EditorWidget(QWebView): # {{{
|
|||||||
|
|
||||||
self.comments_pat = re.compile(r'<!--.*?-->', re.DOTALL)
|
self.comments_pat = re.compile(r'<!--.*?-->', re.DOTALL)
|
||||||
|
|
||||||
|
extra_shortcuts = {
|
||||||
|
'ToggleBold': 'Bold',
|
||||||
|
'ToggleItalic': 'Italic',
|
||||||
|
'ToggleUnderline': 'Underline',
|
||||||
|
}
|
||||||
|
|
||||||
for wac, name, icon, text, checkable in [
|
for wac, name, icon, text, checkable in [
|
||||||
('ToggleBold', 'bold', 'format-text-bold', _('Bold'), True),
|
('ToggleBold', 'bold', 'format-text-bold', _('Bold'), True),
|
||||||
('ToggleItalic', 'italic', 'format-text-italic', _('Italic'),
|
('ToggleItalic', 'italic', 'format-text-italic', _('Italic'),
|
||||||
@ -106,6 +113,9 @@ class EditorWidget(QWebView): # {{{
|
|||||||
]:
|
]:
|
||||||
ac = PageAction(wac, icon, text, checkable, self)
|
ac = PageAction(wac, icon, text, checkable, self)
|
||||||
setattr(self, 'action_'+name, ac)
|
setattr(self, 'action_'+name, ac)
|
||||||
|
ss = extra_shortcuts.get(wac, None)
|
||||||
|
if ss:
|
||||||
|
ac.setShortcut(QKeySequence(getattr(QKeySequence, ss)))
|
||||||
|
|
||||||
self.action_color = QAction(QIcon(I('format-text-color')), _('Foreground color'),
|
self.action_color = QAction(QIcon(I('format-text-color')), _('Foreground color'),
|
||||||
self)
|
self)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user