summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-10-21 17:55:45 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-11-24 09:45:35 +0100
commitb084326319f9d818a288de911df2c123af3bcda9 (patch)
treebaeec80f8c29e83774eca5d69468f9305f92ba96 /src
parent5400fb840b3d04eacc29b4d91a2f2e053fbe0b48 (diff)
Move PrinterWorker to core
Task-number: QTBUG-74585 Change-Id: I1968d5104d7d0d86d8f33879ed8c06f2a4846509 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/core/core_chromium.pri2
-rw-r--r--src/core/core_common.pri1
-rw-r--r--src/core/printing/printer_worker.cpp (renamed from src/webenginewidgets/printer_worker.cpp)24
-rw-r--r--src/core/printing/printer_worker.h (renamed from src/webenginewidgets/printer_worker.h)4
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp2
-rw-r--r--src/webenginewidgets/webenginewidgets.pro7
6 files changed, 18 insertions, 22 deletions
diff --git a/src/core/core_chromium.pri b/src/core/core_chromium.pri
index 09ca86cfc..f7ea8fcd1 100644
--- a/src/core/core_chromium.pri
+++ b/src/core/core_chromium.pri
@@ -278,12 +278,14 @@ qtConfig(webengine-printing-and-pdf) {
printing/printing_message_filter_qt.cpp \
printing/print_view_manager_base_qt.cpp \
printing/print_view_manager_qt.cpp \
+ printing/printer_worker.cpp \
renderer/print_web_view_helper_delegate_qt.cpp
HEADERS += \
printing/printing_message_filter_qt.h \
printing/print_view_manager_base_qt.h \
printing/print_view_manager_qt.h \
+ printing/printer_worker.h \
renderer/print_web_view_helper_delegate_qt.h
# pdf sources
diff --git a/src/core/core_common.pri b/src/core/core_common.pri
index e10d14267..ee15a06e8 100644
--- a/src/core/core_common.pri
+++ b/src/core/core_common.pri
@@ -7,6 +7,7 @@ QT_FOR_CONFIG += buildtools-private webenginecore webenginecore-private
TARGET = QtWebEngineCore
QT += qml-private quick-private gui-private core-private
+qtConfig(webengine-printing-and-pdf): QT += printsupport
QT_PRIVATE += webenginecoreheaders-private
qtConfig(webengine-geolocation): QT += positioning
diff --git a/src/webenginewidgets/printer_worker.cpp b/src/core/printing/printer_worker.cpp
index 8e1c2a985..cbd6b8da3 100644
--- a/src/webenginewidgets/printer_worker.cpp
+++ b/src/core/printing/printer_worker.cpp
@@ -47,14 +47,11 @@
namespace QtWebEngineCore {
PrinterWorker::PrinterWorker(QSharedPointer<QByteArray> data, QPrinter *printer)
- : m_data(data)
- , m_printer(printer)
+ : m_data(data), m_printer(printer)
{
}
-PrinterWorker::~PrinterWorker()
-{
-}
+PrinterWorker::~PrinterWorker() { }
void PrinterWorker::print()
{
@@ -107,15 +104,17 @@ void PrinterWorker::print()
for (int i = 0; true; i++) {
QSizeF documentSize = (pdfiumWrapper.pageSize(currentPageIndex - 1) * resolution);
bool isLandscape = documentSize.width() > documentSize.height();
- m_printer->setPageOrientation(isLandscape ? QPageLayout::Landscape : QPageLayout::Portrait);
+ m_printer->setPageOrientation(isLandscape ? QPageLayout::Landscape
+ : QPageLayout::Portrait);
QRectF pageRect = m_printer->pageRect(QPrinter::DevicePixel);
documentSize = documentSize.scaled(pageRect.size(), Qt::KeepAspectRatio);
- // setPageOrientation has to be called before qpainter.begin() or before qprinter.newPage() so correct metrics is used,
- // therefore call begin now for only first page
+ // setPageOrientation has to be called before qpainter.begin() or before
+ // qprinter.newPage() so correct metrics is used, therefore call begin now for only
+ // first page
if (!painter.isActive() && !painter.begin(m_printer)) {
qWarning("Failure to print on printer %ls: Could not open printer for painting.",
- qUtf16Printable(m_printer->printerName()));
+ qUtf16Printable(m_printer->printerName()));
Q_EMIT resultReady(false);
return;
}
@@ -125,7 +124,7 @@ void PrinterWorker::print()
for (int printedPages = 0; printedPages < pageCopies; printedPages++) {
if (m_printer->printerState() == QPrinter::Aborted
- || m_printer->printerState() == QPrinter::Error) {
+ || m_printer->printerState() == QPrinter::Error) {
Q_EMIT resultReady(false);
return;
}
@@ -133,12 +132,13 @@ void PrinterWorker::print()
if (printedPages > 0)
m_printer->newPage();
- QImage currentImage = pdfiumWrapper.pageAsQImage(currentPageIndex - 1,documentSize.width(),documentSize.height());
+ QImage currentImage = pdfiumWrapper.pageAsQImage(
+ currentPageIndex - 1, documentSize.width(), documentSize.height());
if (currentImage.isNull()) {
Q_EMIT resultReady(false);
return;
}
- painter.drawImage(0,0, currentImage);
+ painter.drawImage(0, 0, currentImage);
}
if (currentPageIndex == toPage)
diff --git a/src/webenginewidgets/printer_worker.h b/src/core/printing/printer_worker.h
index 96025c90e..9d1192bd2 100644
--- a/src/webenginewidgets/printer_worker.h
+++ b/src/core/printing/printer_worker.h
@@ -61,7 +61,7 @@ QT_END_NAMESPACE
namespace QtWebEngineCore {
-class PrinterWorker : public QObject
+class Q_WEBENGINECORE_PRIVATE_EXPORT PrinterWorker : public QObject
{
Q_OBJECT
public:
@@ -83,6 +83,6 @@ private:
} // namespace QtWebEngineCore
-Q_DECLARE_METATYPE(QtWebEngineCore::PrinterWorker*)
+Q_DECLARE_METATYPE(QtWebEngineCore::PrinterWorker *)
#endif // PRINTER_WORKER_H
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 8cffa5dcd..c91f6dfad 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -49,7 +49,7 @@
#include "file_picker_controller.h"
#include "javascript_dialog_controller.h"
#if QT_CONFIG(webengine_printing_and_pdf)
-#include "printer_worker.h"
+#include "printing/printer_worker.h"
#endif
#include "qwebenginecertificateerror.h"
#include "qwebenginefindtextresult.h"
diff --git a/src/webenginewidgets/webenginewidgets.pro b/src/webenginewidgets/webenginewidgets.pro
index 7263c1bbe..be47ad3a4 100644
--- a/src/webenginewidgets/webenginewidgets.pro
+++ b/src/webenginewidgets/webenginewidgets.pro
@@ -26,11 +26,4 @@ HEADERS = \
api/qwebengineview_p.h \
render_widget_host_view_qt_delegate_widget.h
-qtConfig(webengine-printing-and-pdf) {
- QT += printsupport
-
- SOURCES += printer_worker.cpp
- HEADERS += printer_worker.h
-}
-
load(qt_module)