From d2144d7ff4c99477fb2ffac3c701650cc5a37278 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 11 Nov 2022 05:06:48 +0200 Subject: [PATCH] okular: connect to the paintRequested() signal of QPrintPreviewDialog printing to the QPrinter of QPrintPreviewDialog must be done on demand, fixes print preview in general Signed-off-by: Ivailo Monev --- okular/part.cpp | 6 +++++- okular/part.h | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/okular/part.cpp b/okular/part.cpp index cc680801..9464a810 100644 --- a/okular/part.cpp +++ b/okular/part.cpp @@ -2345,7 +2345,7 @@ void Part::slotPrintPreview() { QPrintPreviewDialog previewdlg( &printer, widget() ); setupPrint( printer ); - doPrint( printer ); + connect( &previewdlg, SIGNAL(paintRequested(QPrinter*)), this, SLOT(slotPrintRequested(QPrinter*)) ); previewdlg.exec(); } else @@ -2655,6 +2655,10 @@ void Part::setupPrint( QPrinter &printer ) } } +void Part::slotPrintRequested(QPrinter *printer) +{ + doPrint(*printer); +} void Part::doPrint(QPrinter &printer) { diff --git a/okular/part.h b/okular/part.h index 225812e7..d7f5bde3 100644 --- a/okular/part.h +++ b/okular/part.h @@ -240,7 +240,7 @@ class OKULARPART_EXPORT Part : public KParts::ReadWritePart, public Okular::Docu void setupActions(); void setupPrint( QPrinter &printer ); - void doPrint( QPrinter &printer ); + void doPrint(QPrinter &printer); bool handleCompressed( QString &destpath, const QString &path, const QString &compressedMimetype ); void rebuildBookmarkMenu( bool unplugActions = true ); void updateAboutBackendAction(); @@ -348,6 +348,7 @@ class OKULARPART_EXPORT Part : public KParts::ReadWritePart, public Okular::Docu QTimer *m_infoTimer; private slots: + void slotPrintRequested( QPrinter *printer ); void slotAnnotationPreferences(); void slotHandleActivatedSourceReference(const QString& absFileName, int line, int col, bool *handled); }; -- 2.11.0