mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
E-book viewer: Resize the metadata overlay view when the viewer window is resized
This commit is contained in:
parent
d61083a513
commit
df48faedfe
@ -62,7 +62,7 @@ class Reference(QLineEdit): # {{{
|
|||||||
class Metadata(QWebView): # {{{
|
class Metadata(QWebView): # {{{
|
||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
QWebView.__init__(self, parent.centralWidget())
|
QWebView.__init__(self, parent)
|
||||||
s = self.settings()
|
s = self.settings()
|
||||||
s.setAttribute(s.JavascriptEnabled, False)
|
s.setAttribute(s.JavascriptEnabled, False)
|
||||||
self.page().setLinkDelegationPolicy(self.page().DelegateAllLinks)
|
self.page().setLinkDelegationPolicy(self.page().DelegateAllLinks)
|
||||||
@ -71,11 +71,11 @@ class Metadata(QWebView): # {{{
|
|||||||
palette.setBrush(QPalette.Base, Qt.transparent)
|
palette.setBrush(QPalette.Base, Qt.transparent)
|
||||||
self.page().setPalette(palette)
|
self.page().setPalette(palette)
|
||||||
self.css = P('templates/book_details.css', data=True).decode('utf-8')
|
self.css = P('templates/book_details.css', data=True).decode('utf-8')
|
||||||
|
|
||||||
self.view = parent.centralwidget
|
|
||||||
self.setGeometry(self.view.geometry())
|
|
||||||
self.setVisible(False)
|
self.setVisible(False)
|
||||||
|
|
||||||
|
def update_layout(self):
|
||||||
|
self.setGeometry(0, 0, self.parent().width(), self.parent().height())
|
||||||
|
|
||||||
def show_opf(self, opf, ext=''):
|
def show_opf(self, opf, ext=''):
|
||||||
from calibre.gui2.book_details import render_html
|
from calibre.gui2.book_details import render_html
|
||||||
from calibre.ebooks.metadata.book.render import mi_to_html
|
from calibre.ebooks.metadata.book.render import mi_to_html
|
||||||
@ -89,7 +89,7 @@ class Metadata(QWebView): # {{{
|
|||||||
|
|
||||||
def setVisible(self, x):
|
def setVisible(self, x):
|
||||||
if x:
|
if x:
|
||||||
self.setGeometry(self.view.geometry())
|
self.update_layout()
|
||||||
QWebView.setVisible(self, x)
|
QWebView.setVisible(self, x)
|
||||||
|
|
||||||
def paintEvent(self, ev):
|
def paintEvent(self, ev):
|
||||||
@ -217,11 +217,16 @@ class Main(MainWindow):
|
|||||||
|
|
||||||
self.create_actions()
|
self.create_actions()
|
||||||
|
|
||||||
self.metadata = Metadata(self)
|
self.metadata = Metadata(self.centralwidget)
|
||||||
self.history = History(self.action_back, self.action_forward)
|
self.history = History(self.action_back, self.action_forward)
|
||||||
|
|
||||||
self.resize(653, 746)
|
self.resize(653, 746)
|
||||||
|
|
||||||
|
def resizeEvent(self, ev):
|
||||||
|
if self.metadata.isVisible():
|
||||||
|
self.metadata.update_layout()
|
||||||
|
return MainWindow.resizeEvent(self, ev)
|
||||||
|
|
||||||
def create_actions(self):
|
def create_actions(self):
|
||||||
def a(name, text, icon, tb=None, sc_name=None, menu_name=None, popup_mode=QToolButton.MenuButtonPopup):
|
def a(name, text, icon, tb=None, sc_name=None, menu_name=None, popup_mode=QToolButton.MenuButtonPopup):
|
||||||
name = 'action_' + name
|
name = 'action_' + name
|
||||||
|
Loading…
x
Reference in New Issue
Block a user