Skip to content

Commit

Permalink
Viewer: Add a keyboard shortcut (Ctrl+alt+b) for adding a bookmark
Browse files Browse the repository at this point in the history
  • Loading branch information
kovidgoyal committed Apr 25, 2020
1 parent cac07c2 commit 27f626d
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/calibre/gui2/viewer/bookmarks.py
Expand Up @@ -294,7 +294,11 @@ def create_new_bookmark(self, pos_data):
self.edited.emit(bookmarks)

def keyPressEvent(self, ev):
if ev.key() == Qt.Key_Escape or get_shortcut_for(self, ev) == 'toggle_bookmarks':
sc = get_shortcut_for(self, ev)
if ev.key() == Qt.Key_Escape or sc == 'toggle_bookmarks':
self.toggle_requested.emit()
return
if sc == 'new_bookmark':
self.create_requested.emit()
return
return QWidget.keyPressEvent(self, ev)
1 change: 1 addition & 0 deletions src/calibre/gui2/viewer/ui.py
Expand Up @@ -161,6 +161,7 @@ def create_dock(title, name, area, areas=Qt.LeftDockWidgetArea | Qt.RightDockWid
self.search_widget.show_search_result.connect(self.web_view.show_search_result)
self.web_view.search_result_not_found.connect(self.search_widget.search_result_not_found)
self.web_view.toggle_bookmarks.connect(self.toggle_bookmarks)
self.web_view.new_bookmark.connect(self.bookmarks_widget.create_requested)
self.web_view.toggle_inspector.connect(self.toggle_inspector)
self.web_view.toggle_lookup.connect(self.toggle_lookup)
self.web_view.quit.connect(self.quit)
Expand Down
3 changes: 3 additions & 0 deletions src/calibre/gui2/viewer/web_view.py
Expand Up @@ -248,6 +248,7 @@ class ViewerBridge(Bridge):
reload_book = from_js()
toggle_toc = from_js()
toggle_bookmarks = from_js()
new_bookmark = from_js()
toggle_inspector = from_js()
toggle_lookup = from_js()
show_search = from_js()
Expand Down Expand Up @@ -438,6 +439,7 @@ class WebView(RestartingWebEngineView):
search_result_not_found = pyqtSignal(object)
find_next = pyqtSignal(object)
toggle_bookmarks = pyqtSignal()
new_bookmark = pyqtSignal()
toggle_inspector = pyqtSignal()
toggle_lookup = pyqtSignal()
quit = pyqtSignal()
Expand Down Expand Up @@ -489,6 +491,7 @@ def __init__(self, parent=None):
self.bridge.search_result_not_found.connect(self.search_result_not_found)
self.bridge.find_next.connect(self.find_next)
self.bridge.toggle_bookmarks.connect(self.toggle_bookmarks)
self.bridge.new_bookmark.connect(self.new_bookmark)
self.bridge.toggle_inspector.connect(self.toggle_inspector)
self.bridge.toggle_lookup.connect(self.toggle_lookup)
self.bridge.quit.connect(self.quit)
Expand Down
6 changes: 6 additions & 0 deletions src/pyj/read_book/shortcuts.pyj
Expand Up @@ -362,6 +362,12 @@ def add_standalone_viewer_shortcuts():
_('Show/hide bookmarks'),
)

sc['new_bookmark'] = desc(
v"['Ctrl+Alt+b']",
'ui',
_('Create a new bookmark'),
)

sc['toggle_inspector'] = desc(
v"['Ctrl+i']",
'ui',
Expand Down
2 changes: 2 additions & 0 deletions src/pyj/read_book/view.pyj
Expand Up @@ -427,6 +427,8 @@ class View:
ui_operations.toggle_toc()
elif data.name is 'toggle_bookmarks':
ui_operations.toggle_bookmarks()
elif data.name is 'new_bookmark':
ui_operations.new_bookmark()
elif data.name is 'toggle_inspector':
ui_operations.toggle_inspector()
elif data.name is 'toggle_lookup':
Expand Down
2 changes: 2 additions & 0 deletions src/pyj/viewer-main.pyj
Expand Up @@ -355,6 +355,8 @@ if window is window.top:
to_python.toggle_toc()
ui_operations.toggle_bookmarks = def():
to_python.toggle_bookmarks()
ui_operations.new_bookmark = def():
to_python.new_bookmark()
ui_operations.toggle_inspector = def():
to_python.toggle_inspector()
ui_operations.content_file_changed = def(name):
Expand Down

0 comments on commit 27f626d

Please sign in to comment.