Hide overflow from headers/footers

This commit is contained in:
Kovid Goyal 2019-07-28 07:26:01 +05:30
parent b8dc1d791c
commit 848d91c6d8
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -85,10 +85,11 @@ class Renderer(QWebEnginePage):
work_done = pyqtSignal(object, object) work_done = pyqtSignal(object, object)
def __init__(self, opts, parent): def __init__(self, opts, parent, log):
QWebEnginePage.__init__(self, parent.profile, parent) QWebEnginePage.__init__(self, parent.profile, parent)
secure_webengine(self) secure_webengine(self)
self.working = False self.working = False
self.log = log
self.load_complete = False self.load_complete = False
self.settle_time = 0 self.settle_time = 0
self.wait_for_title = None self.wait_for_title = None
@ -136,7 +137,7 @@ class Renderer(QWebEnginePage):
def javaScriptConsoleMessage(self, level, message, linenum, source_id): def javaScriptConsoleMessage(self, level, message, linenum, source_id):
try: try:
print('{}:{}:{}'.format(source_id, linenum, message)) self.log('{}:{}:{}'.format(source_id, linenum, message))
except Exception: except Exception:
pass pass
@ -182,7 +183,7 @@ class RenderManager(QObject):
def __init__(self, opts, log, container_root): def __init__(self, opts, log, container_root):
QObject.__init__(self) QObject.__init__(self)
self.interceptor = RequestInterceptor(self) self.interceptor = RequestInterceptor(self)
self.interceptor.log = log self.interceptor.log = self.log = log
self.interceptor.container_root = os.path.normcase(os.path.abspath(container_root)) self.interceptor.container_root = os.path.normcase(os.path.abspath(container_root))
ans = QWebEngineProfile(QApplication.instance()) ans = QWebEngineProfile(QApplication.instance())
ua = 'calibre-pdf-output ' + __version__ ua = 'calibre-pdf-output ' + __version__
@ -199,7 +200,7 @@ class RenderManager(QObject):
self.original_signal_handlers = setup_unix_signals(self) self.original_signal_handlers = setup_unix_signals(self)
def create_worker(self): def create_worker(self):
worker = Renderer(self.opts, self) worker = Renderer(self.opts, self, self.log)
worker.work_done.connect(self.work_done) worker.work_done.connect(self.work_done)
self.workers.append(worker) self.workers.append(worker)
@ -926,6 +927,7 @@ def add_header_footer(manager, opts, pdf_doc, container, page_number_display_map
'margin-bottom': '0', 'margin-bottom': '0',
'padding': '0', 'padding': '0',
'border-width': '0', 'border-width': '0',
'overflow': 'hidden',
} }
ans = m('div', style=style, id='p{}'.format(page_num)) ans = m('div', style=style, id='p{}'.format(page_num))
@ -942,7 +944,7 @@ def add_header_footer(manager, opts, pdf_doc, container, page_number_display_map
style = ans.get('style') or '' style = ans.get('style') or ''
style = ( style = (
'margin: 0; padding: 0; height: {height}pt; border-width: 0;' 'margin: 0; padding: 0; height: {height}pt; border-width: 0;'
'display: flex; align-items: center;').format(height=height) + style 'display: flex; align-items: center; overflow: hidden').format(height=height) + style
ans.set('style', style) ans.set('style', style)
for child in ans.xpath('descendant-or-self::*[@class]'): for child in ans.xpath('descendant-or-self::*[@class]'):
cls = frozenset(child.get('class').split()) cls = frozenset(child.get('class').split())