mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add a button to toggel reference mode to the toolbar
This commit is contained in:
parent
e1d9a25f81
commit
7dea54d135
@ -50,6 +50,7 @@ def all_actions():
|
|||||||
'previous': Action('previous.png', _('Previous page'), 'previous'),
|
'previous': Action('previous.png', _('Previous page'), 'previous'),
|
||||||
'toc': Action('toc.png', _('Table of Contents'), 'toggle_toc'),
|
'toc': Action('toc.png', _('Table of Contents'), 'toggle_toc'),
|
||||||
'bookmarks': Action('bookmarks.png', _('Bookmarks'), 'toggle_bookmarks'),
|
'bookmarks': Action('bookmarks.png', _('Bookmarks'), 'toggle_bookmarks'),
|
||||||
|
'reference': Action('lookfeel.png', _('Toggle Reference mode'), 'toggle_reference_mode'),
|
||||||
'lookup': Action('generic-library.png', _('Lookup words'), 'toggle_lookup'),
|
'lookup': Action('generic-library.png', _('Lookup words'), 'toggle_lookup'),
|
||||||
'chrome': Action('tweaks.png', _('Show viewer controls'), 'show_chrome'),
|
'chrome': Action('tweaks.png', _('Show viewer controls'), 'show_chrome'),
|
||||||
'mode': Action('scroll.png', _('Toggle paged mode'), 'toggle_paged_mode'),
|
'mode': Action('scroll.png', _('Toggle paged mode'), 'toggle_paged_mode'),
|
||||||
@ -62,7 +63,7 @@ def all_actions():
|
|||||||
|
|
||||||
DEFAULT_ACTIONS = (
|
DEFAULT_ACTIONS = (
|
||||||
'back', 'forward', None, 'open', 'copy', 'increase_font_size', 'decrease_font_size', 'fullscreen',
|
'back', 'forward', None, 'open', 'copy', 'increase_font_size', 'decrease_font_size', 'fullscreen',
|
||||||
None, 'previous', 'next', None, 'toc', 'bookmarks', 'lookup', 'chrome', None, 'mode', 'print', 'preferences',
|
None, 'previous', 'next', None, 'toc', 'bookmarks', 'lookup', 'reference', 'chrome', None, 'mode', 'print', 'preferences',
|
||||||
'metadata'
|
'metadata'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -121,6 +122,7 @@ class ActionsToolBar(ToolBar):
|
|||||||
self.action_triggered.connect(web_view.trigger_shortcut)
|
self.action_triggered.connect(web_view.trigger_shortcut)
|
||||||
page = web_view.page()
|
page = web_view.page()
|
||||||
web_view.paged_mode_changed.connect(self.update_mode_action)
|
web_view.paged_mode_changed.connect(self.update_mode_action)
|
||||||
|
web_view.reference_mode_changed.connect(self.update_reference_mode_action)
|
||||||
web_view.standalone_misc_settings_changed.connect(self.update_visibility)
|
web_view.standalone_misc_settings_changed.connect(self.update_visibility)
|
||||||
web_view.customize_toolbar.connect(self.customize, type=Qt.QueuedConnection)
|
web_view.customize_toolbar.connect(self.customize, type=Qt.QueuedConnection)
|
||||||
|
|
||||||
@ -147,6 +149,8 @@ class ActionsToolBar(ToolBar):
|
|||||||
|
|
||||||
self.toc_action = shortcut_action('toc')
|
self.toc_action = shortcut_action('toc')
|
||||||
self.bookmarks_action = shortcut_action('bookmarks')
|
self.bookmarks_action = shortcut_action('bookmarks')
|
||||||
|
self.reference_action = a = shortcut_action('reference')
|
||||||
|
a.setCheckable(True)
|
||||||
self.lookup_action = shortcut_action('lookup')
|
self.lookup_action = shortcut_action('lookup')
|
||||||
self.chrome_action = shortcut_action('chrome')
|
self.chrome_action = shortcut_action('chrome')
|
||||||
|
|
||||||
@ -180,6 +184,9 @@ class ActionsToolBar(ToolBar):
|
|||||||
a.setChecked(True)
|
a.setChecked(True)
|
||||||
a.setToolTip(_('Switch to paged mode -- where the text is broken into pages'))
|
a.setToolTip(_('Switch to paged mode -- where the text is broken into pages'))
|
||||||
|
|
||||||
|
def update_reference_mode_action(self, enabled):
|
||||||
|
self.reference_action.setChecked(enabled)
|
||||||
|
|
||||||
def set_tooltips(self, rmap):
|
def set_tooltips(self, rmap):
|
||||||
for sc, a in iteritems(self.shortcut_actions):
|
for sc, a in iteritems(self.shortcut_actions):
|
||||||
if a.isCheckable():
|
if a.isCheckable():
|
||||||
|
@ -252,6 +252,7 @@ class ViewerBridge(Bridge):
|
|||||||
copy_image = from_js(object)
|
copy_image = from_js(object)
|
||||||
change_background_image = from_js(object)
|
change_background_image = from_js(object)
|
||||||
overlay_visibility_changed = from_js(object)
|
overlay_visibility_changed = from_js(object)
|
||||||
|
reference_mode_changed = from_js(object)
|
||||||
show_loading_message = from_js(object)
|
show_loading_message = from_js(object)
|
||||||
show_error = from_js(object, object, object)
|
show_error = from_js(object, object, object)
|
||||||
export_shortcut_map = from_js(object)
|
export_shortcut_map = from_js(object)
|
||||||
@ -418,6 +419,7 @@ class WebView(RestartingWebEngineView):
|
|||||||
view_image = pyqtSignal(object)
|
view_image = pyqtSignal(object)
|
||||||
copy_image = pyqtSignal(object)
|
copy_image = pyqtSignal(object)
|
||||||
overlay_visibility_changed = pyqtSignal(object)
|
overlay_visibility_changed = pyqtSignal(object)
|
||||||
|
reference_mode_changed = pyqtSignal(object)
|
||||||
show_loading_message = pyqtSignal(object)
|
show_loading_message = pyqtSignal(object)
|
||||||
show_error = pyqtSignal(object, object, object)
|
show_error = pyqtSignal(object, object, object)
|
||||||
print_book = pyqtSignal()
|
print_book = pyqtSignal()
|
||||||
@ -456,6 +458,7 @@ class WebView(RestartingWebEngineView):
|
|||||||
self.bridge.view_image.connect(self.view_image)
|
self.bridge.view_image.connect(self.view_image)
|
||||||
self.bridge.copy_image.connect(self.copy_image)
|
self.bridge.copy_image.connect(self.copy_image)
|
||||||
self.bridge.overlay_visibility_changed.connect(self.overlay_visibility_changed)
|
self.bridge.overlay_visibility_changed.connect(self.overlay_visibility_changed)
|
||||||
|
self.bridge.reference_mode_changed.connect(self.reference_mode_changed)
|
||||||
self.bridge.show_loading_message.connect(self.show_loading_message)
|
self.bridge.show_loading_message.connect(self.show_loading_message)
|
||||||
self.bridge.show_error.connect(self.show_error)
|
self.bridge.show_error.connect(self.show_error)
|
||||||
self.bridge.print_book.connect(self.print_book)
|
self.bridge.print_book.connect(self.print_book)
|
||||||
|
@ -976,7 +976,10 @@ class View:
|
|||||||
|
|
||||||
def toggle_reference_mode(self):
|
def toggle_reference_mode(self):
|
||||||
self.reference_mode_enabled = not self.reference_mode_enabled
|
self.reference_mode_enabled = not self.reference_mode_enabled
|
||||||
|
self.on_reference_item_changed()
|
||||||
self.iframe_wrapper.send_message('set_reference_mode', enabled=self.reference_mode_enabled)
|
self.iframe_wrapper.send_message('set_reference_mode', enabled=self.reference_mode_enabled)
|
||||||
|
if ui_operations.reference_mode_changed:
|
||||||
|
ui_operations.reference_mode_changed(self.reference_mode_enabled)
|
||||||
|
|
||||||
def on_reference_item_changed(self, data):
|
def on_reference_item_changed(self, data):
|
||||||
data = data or {'refnum': None, 'index': None}
|
data = data or {'refnum': None, 'index': None}
|
||||||
|
@ -369,6 +369,8 @@ if window is window.top:
|
|||||||
to_python.quit()
|
to_python.quit()
|
||||||
ui_operations.overlay_visibility_changed = def(visible):
|
ui_operations.overlay_visibility_changed = def(visible):
|
||||||
to_python.overlay_visibility_changed(visible)
|
to_python.overlay_visibility_changed(visible)
|
||||||
|
ui_operations.reference_mode_changed = def(enabled):
|
||||||
|
to_python.reference_mode_changed(enabled)
|
||||||
ui_operations.show_loading_message = def(msg):
|
ui_operations.show_loading_message = def(msg):
|
||||||
to_python.show_loading_message(msg)
|
to_python.show_loading_message(msg)
|
||||||
ui_operations.export_shortcut_map = def(smap):
|
ui_operations.export_shortcut_map = def(smap):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user