mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Viewer: Add a configurable Quit shortcut
This commit is contained in:
parent
13e2bf077f
commit
f542ac933d
@ -118,6 +118,7 @@ class EbookViewer(MainWindow):
|
|||||||
self.web_view.toggle_bookmarks.connect(self.toggle_bookmarks)
|
self.web_view.toggle_bookmarks.connect(self.toggle_bookmarks)
|
||||||
self.web_view.toggle_inspector.connect(self.toggle_inspector)
|
self.web_view.toggle_inspector.connect(self.toggle_inspector)
|
||||||
self.web_view.toggle_lookup.connect(self.toggle_lookup)
|
self.web_view.toggle_lookup.connect(self.toggle_lookup)
|
||||||
|
self.web_view.quit.connect(self.quit)
|
||||||
self.web_view.update_current_toc_nodes.connect(self.toc.update_current_toc_nodes)
|
self.web_view.update_current_toc_nodes.connect(self.toc.update_current_toc_nodes)
|
||||||
self.web_view.toggle_full_screen.connect(self.toggle_full_screen)
|
self.web_view.toggle_full_screen.connect(self.toggle_full_screen)
|
||||||
self.web_view.ask_for_open.connect(self.ask_for_open, type=Qt.QueuedConnection)
|
self.web_view.ask_for_open.connect(self.ask_for_open, type=Qt.QueuedConnection)
|
||||||
@ -356,6 +357,9 @@ class EbookViewer(MainWindow):
|
|||||||
self.restoreState(state, self.MAIN_WINDOW_STATE_VERSION)
|
self.restoreState(state, self.MAIN_WINDOW_STATE_VERSION)
|
||||||
self.inspector_dock.setVisible(False)
|
self.inspector_dock.setVisible(False)
|
||||||
|
|
||||||
|
def quit(self):
|
||||||
|
self.close()
|
||||||
|
|
||||||
def closeEvent(self, ev):
|
def closeEvent(self, ev):
|
||||||
try:
|
try:
|
||||||
self.save_annotations()
|
self.save_annotations()
|
||||||
|
@ -222,6 +222,7 @@ class ViewerBridge(Bridge):
|
|||||||
toggle_bookmarks = from_js()
|
toggle_bookmarks = from_js()
|
||||||
toggle_inspector = from_js()
|
toggle_inspector = from_js()
|
||||||
toggle_lookup = from_js()
|
toggle_lookup = from_js()
|
||||||
|
quit = from_js()
|
||||||
update_current_toc_nodes = from_js(object, object)
|
update_current_toc_nodes = from_js(object, object)
|
||||||
toggle_full_screen = from_js()
|
toggle_full_screen = from_js()
|
||||||
report_cfi = from_js(object, object)
|
report_cfi = from_js(object, object)
|
||||||
@ -364,6 +365,7 @@ class WebView(RestartingWebEngineView):
|
|||||||
toggle_bookmarks = pyqtSignal()
|
toggle_bookmarks = pyqtSignal()
|
||||||
toggle_inspector = pyqtSignal()
|
toggle_inspector = pyqtSignal()
|
||||||
toggle_lookup = pyqtSignal()
|
toggle_lookup = pyqtSignal()
|
||||||
|
quit = pyqtSignal()
|
||||||
update_current_toc_nodes = pyqtSignal(object, object)
|
update_current_toc_nodes = pyqtSignal(object, object)
|
||||||
toggle_full_screen = pyqtSignal()
|
toggle_full_screen = pyqtSignal()
|
||||||
ask_for_open = pyqtSignal(object)
|
ask_for_open = pyqtSignal(object)
|
||||||
@ -388,6 +390,7 @@ class WebView(RestartingWebEngineView):
|
|||||||
self.bridge.toggle_bookmarks.connect(self.toggle_bookmarks)
|
self.bridge.toggle_bookmarks.connect(self.toggle_bookmarks)
|
||||||
self.bridge.toggle_inspector.connect(self.toggle_inspector)
|
self.bridge.toggle_inspector.connect(self.toggle_inspector)
|
||||||
self.bridge.toggle_lookup.connect(self.toggle_lookup)
|
self.bridge.toggle_lookup.connect(self.toggle_lookup)
|
||||||
|
self.bridge.quit.connect(self.quit)
|
||||||
self.bridge.update_current_toc_nodes.connect(self.update_current_toc_nodes)
|
self.bridge.update_current_toc_nodes.connect(self.update_current_toc_nodes)
|
||||||
self.bridge.toggle_full_screen.connect(self.toggle_full_screen)
|
self.bridge.toggle_full_screen.connect(self.toggle_full_screen)
|
||||||
self.bridge.ask_for_open.connect(self.ask_for_open)
|
self.bridge.ask_for_open.connect(self.ask_for_open)
|
||||||
|
@ -237,6 +237,7 @@ SHORTCUTS = {
|
|||||||
|
|
||||||
|
|
||||||
def add_standalone_viewer_shortcuts():
|
def add_standalone_viewer_shortcuts():
|
||||||
|
ismacos = 'macos' in window.navigator.userAgent
|
||||||
SHORTCUTS['toggle_bookmarks'] = desc(
|
SHORTCUTS['toggle_bookmarks'] = desc(
|
||||||
v"['Ctrl+b']",
|
v"['Ctrl+b']",
|
||||||
'ui',
|
'ui',
|
||||||
@ -255,6 +256,12 @@ def add_standalone_viewer_shortcuts():
|
|||||||
_('Show/hide the word lookup panel'),
|
_('Show/hide the word lookup panel'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
quit_shortcut = 'Meta+q' if ismacos else 'Ctrl+q'
|
||||||
|
SHORTCUTS['quit'] = desc(
|
||||||
|
quit_shortcut,
|
||||||
|
'ui',
|
||||||
|
_('Quit the viewer'),
|
||||||
|
)
|
||||||
|
|
||||||
def create_shortcut_map(custom_shortcuts):
|
def create_shortcut_map(custom_shortcuts):
|
||||||
ans = {}
|
ans = {}
|
||||||
|
@ -296,6 +296,8 @@ class View:
|
|||||||
ui_operations.toggle_inspector()
|
ui_operations.toggle_inspector()
|
||||||
elif data.name is 'toggle_lookup':
|
elif data.name is 'toggle_lookup':
|
||||||
ui_operations.toggle_lookup()
|
ui_operations.toggle_lookup()
|
||||||
|
elif data.name is 'quit':
|
||||||
|
ui_operations.quit()
|
||||||
elif data.name is 'start_search':
|
elif data.name is 'start_search':
|
||||||
self.show_search()
|
self.show_search()
|
||||||
elif data.name is 'next_match':
|
elif data.name is 'next_match':
|
||||||
|
@ -304,6 +304,8 @@ if window is window.top:
|
|||||||
to_python.view_image(name)
|
to_python.view_image(name)
|
||||||
ui_operations.change_background_image = def(img_id):
|
ui_operations.change_background_image = def(img_id):
|
||||||
to_python.change_background_image(img_id)
|
to_python.change_background_image(img_id)
|
||||||
|
ui_operations.quit = def():
|
||||||
|
to_python.quit()
|
||||||
|
|
||||||
document.body.appendChild(E.div(id='view'))
|
document.body.appendChild(E.div(id='view'))
|
||||||
window.onerror = onerror
|
window.onerror = onerror
|
||||||
|
Loading…
x
Reference in New Issue
Block a user