mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add an action to show the chrome dev tools in the viewer
This commit is contained in:
parent
5ba3eb19db
commit
4476d63b27
@ -85,18 +85,25 @@ class EbookViewer(MainWindow):
|
||||
self.bookmarks_widget.activated.connect(self.bookmark_activated)
|
||||
self.bookmarks_dock.setWidget(w)
|
||||
|
||||
self.inspector_dock = create_dock(_('Inspector'), 'inspector', Qt.RightDockWidgetArea)
|
||||
self.inspector_dock = create_dock(
|
||||
_('Inspector'), 'inspector', Qt.RightDockWidgetArea, areas=Qt.AllDockWidgetAreas)
|
||||
|
||||
self.web_view = WebView(self)
|
||||
self.web_view.cfi_changed.connect(self.cfi_changed)
|
||||
self.web_view.reload_book.connect(self.reload_book)
|
||||
self.web_view.toggle_toc.connect(self.toggle_toc)
|
||||
self.web_view.toggle_bookmarks.connect(self.toggle_bookmarks)
|
||||
self.web_view.toggle_inspector.connect(self.toggle_inspector)
|
||||
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.ask_for_open.connect(self.ask_for_open, type=Qt.QueuedConnection)
|
||||
self.setCentralWidget(self.web_view)
|
||||
self.restore_state()
|
||||
|
||||
def toggle_inspector(self):
|
||||
visible = self.inspector_dock.toggleViewAction().isChecked()
|
||||
self.inspector_dock.setVisible(not visible)
|
||||
|
||||
# IPC {{{
|
||||
def handle_commandline_arg(self, arg):
|
||||
if arg:
|
||||
@ -290,6 +297,7 @@ class EbookViewer(MainWindow):
|
||||
self.restoreGeometry(geom)
|
||||
if state:
|
||||
self.restoreState(state, self.MAIN_WINDOW_STATE_VERSION)
|
||||
self.inspector_dock.setVisible(False)
|
||||
|
||||
def closeEvent(self, ev):
|
||||
try:
|
||||
|
@ -187,6 +187,7 @@ class ViewerBridge(Bridge):
|
||||
reload_book = from_js()
|
||||
toggle_toc = from_js()
|
||||
toggle_bookmarks = from_js()
|
||||
toggle_inspector = from_js()
|
||||
update_current_toc_nodes = from_js(object, object)
|
||||
toggle_full_screen = from_js()
|
||||
report_cfi = from_js(object, object)
|
||||
@ -305,6 +306,7 @@ class WebView(RestartingWebEngineView):
|
||||
reload_book = pyqtSignal()
|
||||
toggle_toc = pyqtSignal()
|
||||
toggle_bookmarks = pyqtSignal()
|
||||
toggle_inspector = pyqtSignal()
|
||||
update_current_toc_nodes = pyqtSignal(object, object)
|
||||
toggle_full_screen = pyqtSignal()
|
||||
ask_for_open = pyqtSignal(object)
|
||||
@ -325,6 +327,7 @@ class WebView(RestartingWebEngineView):
|
||||
self.bridge.reload_book.connect(self.reload_book)
|
||||
self.bridge.toggle_toc.connect(self.toggle_toc)
|
||||
self.bridge.toggle_bookmarks.connect(self.toggle_bookmarks)
|
||||
self.bridge.toggle_inspector.connect(self.toggle_inspector)
|
||||
self.bridge.update_current_toc_nodes.connect(self.update_current_toc_nodes)
|
||||
self.bridge.toggle_full_screen.connect(self.toggle_full_screen)
|
||||
self.bridge.ask_for_open.connect(self.ask_for_open)
|
||||
@ -337,7 +340,6 @@ class WebView(RestartingWebEngineView):
|
||||
if parent is not None:
|
||||
self.inspector = Inspector(parent.inspector_dock.toggleViewAction(), self)
|
||||
parent.inspector_dock.setWidget(self.inspector)
|
||||
# QTimer.singleShot(300, lambda: (parent.inspector_dock.setVisible(True), parent.inspector_dock.setMinimumWidth(650)))
|
||||
|
||||
def url_changed(self, url):
|
||||
if url.hasFragment():
|
||||
|
@ -269,6 +269,12 @@ class MainOverlay:
|
||||
if full_screen_actions.length:
|
||||
actions_div.appendChild(E.ul(*full_screen_actions))
|
||||
|
||||
if runtime.is_standalone_viewer:
|
||||
actions_div.appendChild(E.ul(
|
||||
ac(_('Inspector'), _('Show the content inspector'),
|
||||
def(): self.overlay.hide(), ui_operations.toggle_inspector();, 'bug')
|
||||
))
|
||||
|
||||
container.appendChild(set_css(E.div(class_=MAIN_OVERLAY_TS_CLASS, # top section
|
||||
onclick=def (evt):evt.stopPropagation();,
|
||||
|
||||
|
@ -255,6 +255,8 @@ if window is window.top:
|
||||
to_python.toggle_toc()
|
||||
ui_operations.toggle_bookmarks = def():
|
||||
to_python.toggle_bookmarks()
|
||||
ui_operations.toggle_inspector = def():
|
||||
to_python.toggle_inspector()
|
||||
ui_operations.update_current_toc_nodes = def(current_node_id, top_level_node_id):
|
||||
to_python.update_current_toc_nodes(current_node_id, top_level_node_id)
|
||||
ui_operations.toggle_full_screen = def():
|
||||
|
Loading…
x
Reference in New Issue
Block a user