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'),
|
||||
'toc': Action('toc.png', _('Table of Contents'), 'toggle_toc'),
|
||||
'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'),
|
||||
'chrome': Action('tweaks.png', _('Show viewer controls'), 'show_chrome'),
|
||||
'mode': Action('scroll.png', _('Toggle paged mode'), 'toggle_paged_mode'),
|
||||
@ -62,7 +63,7 @@ def all_actions():
|
||||
|
||||
DEFAULT_ACTIONS = (
|
||||
'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'
|
||||
)
|
||||
|
||||
@ -121,6 +122,7 @@ class ActionsToolBar(ToolBar):
|
||||
self.action_triggered.connect(web_view.trigger_shortcut)
|
||||
page = web_view.page()
|
||||
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.customize_toolbar.connect(self.customize, type=Qt.QueuedConnection)
|
||||
|
||||
@ -147,6 +149,8 @@ class ActionsToolBar(ToolBar):
|
||||
|
||||
self.toc_action = shortcut_action('toc')
|
||||
self.bookmarks_action = shortcut_action('bookmarks')
|
||||
self.reference_action = a = shortcut_action('reference')
|
||||
a.setCheckable(True)
|
||||
self.lookup_action = shortcut_action('lookup')
|
||||
self.chrome_action = shortcut_action('chrome')
|
||||
|
||||
@ -180,6 +184,9 @@ class ActionsToolBar(ToolBar):
|
||||
a.setChecked(True)
|
||||
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):
|
||||
for sc, a in iteritems(self.shortcut_actions):
|
||||
if a.isCheckable():
|
||||
|
@ -252,6 +252,7 @@ class ViewerBridge(Bridge):
|
||||
copy_image = from_js(object)
|
||||
change_background_image = from_js(object)
|
||||
overlay_visibility_changed = from_js(object)
|
||||
reference_mode_changed = from_js(object)
|
||||
show_loading_message = from_js(object)
|
||||
show_error = from_js(object, object, object)
|
||||
export_shortcut_map = from_js(object)
|
||||
@ -418,6 +419,7 @@ class WebView(RestartingWebEngineView):
|
||||
view_image = pyqtSignal(object)
|
||||
copy_image = pyqtSignal(object)
|
||||
overlay_visibility_changed = pyqtSignal(object)
|
||||
reference_mode_changed = pyqtSignal(object)
|
||||
show_loading_message = pyqtSignal(object)
|
||||
show_error = pyqtSignal(object, object, object)
|
||||
print_book = pyqtSignal()
|
||||
@ -456,6 +458,7 @@ class WebView(RestartingWebEngineView):
|
||||
self.bridge.view_image.connect(self.view_image)
|
||||
self.bridge.copy_image.connect(self.copy_image)
|
||||
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_error.connect(self.show_error)
|
||||
self.bridge.print_book.connect(self.print_book)
|
||||
|
@ -976,7 +976,10 @@ class View:
|
||||
|
||||
def toggle_reference_mode(self):
|
||||
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)
|
||||
if ui_operations.reference_mode_changed:
|
||||
ui_operations.reference_mode_changed(self.reference_mode_enabled)
|
||||
|
||||
def on_reference_item_changed(self, data):
|
||||
data = data or {'refnum': None, 'index': None}
|
||||
|
@ -369,6 +369,8 @@ if window is window.top:
|
||||
to_python.quit()
|
||||
ui_operations.overlay_visibility_changed = def(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):
|
||||
to_python.show_loading_message(msg)
|
||||
ui_operations.export_shortcut_map = def(smap):
|
||||
|
Loading…
x
Reference in New Issue
Block a user