mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -04:00
Ebook viewer: remember inspector windows size
E-book viewer: Remember the size of the "Inspect" window used to examine the book's code. Fixes #1245068 [Feature request: web inspector window size and font size](https://bugs.launchpad.net/calibre/+bug/1245068)
This commit is contained in:
parent
9d5ea30749
commit
bf686caf97
@ -25,6 +25,7 @@ from calibre.gui2.viewer.position import PagePosition
|
||||
from calibre.gui2.viewer.config import config, ConfigDialog, load_themes
|
||||
from calibre.gui2.viewer.image_popup import ImagePopup
|
||||
from calibre.gui2.viewer.table_popup import TablePopup
|
||||
from calibre.gui2.viewer.inspector import WebInspector
|
||||
from calibre.ebooks.oeb.display.webview import load_html
|
||||
from calibre.constants import isxp, iswindows
|
||||
# }}}
|
||||
@ -479,6 +480,7 @@ class DocumentView(QWebView): # {{{
|
||||
self.document = Document(self.shortcuts, parent=self,
|
||||
debug_javascript=debug_javascript)
|
||||
self.setPage(self.document)
|
||||
self.inspector = WebInspector(self, self.document)
|
||||
self.manager = None
|
||||
self._reference_mode = False
|
||||
self._ignore_scrollbar_signals = False
|
||||
@ -672,8 +674,7 @@ class DocumentView(QWebView): # {{{
|
||||
menu.addAction(self.manager.action_font_size_smaller)
|
||||
|
||||
menu.addSeparator()
|
||||
inspectAction = self.pageAction(self.document.InspectElement)
|
||||
menu.addAction(inspectAction)
|
||||
menu.addAction(_('Inspect'), self.inspect)
|
||||
|
||||
if not text and img.isNull() and self.manager is not None:
|
||||
menu.addSeparator()
|
||||
@ -686,6 +687,11 @@ class DocumentView(QWebView): # {{{
|
||||
|
||||
menu.exec_(ev.globalPos())
|
||||
|
||||
def inspect(self):
|
||||
self.inspector.show()
|
||||
self.inspector.raise_()
|
||||
self.pageAction(self.document.InspectElement).trigger()
|
||||
|
||||
def lookup(self, *args):
|
||||
if self.manager is not None:
|
||||
t = unicode(self.selectedText()).strip()
|
||||
|
52
src/calibre/gui2/viewer/inspector.py
Normal file
52
src/calibre/gui2/viewer/inspector.py
Normal file
@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
from __future__ import (unicode_literals, division, absolute_import,
|
||||
print_function)
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2013, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
from PyQt4.Qt import QDialog, QDialogButtonBox, QVBoxLayout, QIcon
|
||||
from PyQt4.QtWebKit import QWebInspector
|
||||
|
||||
from calibre.gui2 import gprefs
|
||||
|
||||
class WebInspector(QDialog):
|
||||
|
||||
def __init__(self, parent, page):
|
||||
QDialog.__init__(self, parent)
|
||||
self.setWindowTitle(_('Inspect book code'))
|
||||
self.setWindowIcon(QIcon(I('debug.png')))
|
||||
l = QVBoxLayout()
|
||||
self.setLayout(l)
|
||||
|
||||
self.inspector = QWebInspector(self)
|
||||
self.inspector.setPage(page)
|
||||
l.addWidget(self.inspector)
|
||||
|
||||
self.bb = bb = QDialogButtonBox(QDialogButtonBox.Close)
|
||||
l.addWidget(bb)
|
||||
bb.accepted.connect(self.accept)
|
||||
bb.rejected.connect(self.reject)
|
||||
|
||||
self.resize(self.sizeHint())
|
||||
|
||||
geom = gprefs.get('viewer_inspector_geom', None)
|
||||
if geom is not None:
|
||||
self.restoreGeometry(geom)
|
||||
|
||||
def save_geometry(self):
|
||||
gprefs['viewer_inspector_geom'] = bytearray(self.saveGeometry())
|
||||
|
||||
def closeEvent(self, ev):
|
||||
self.save_geometry()
|
||||
return QDialog.closeEvent(self, ev)
|
||||
|
||||
def accept(self):
|
||||
self.save_geometry()
|
||||
QDialog.accept(self)
|
||||
|
||||
def reject(self):
|
||||
self.save_geometry()
|
||||
QDialog.reject(self)
|
||||
|
Loading…
x
Reference in New Issue
Block a user