diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-10-21 17:55:45 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-11-24 09:45:35 +0100 |
commit | b084326319f9d818a288de911df2c123af3bcda9 (patch) | |
tree | baeec80f8c29e83774eca5d69468f9305f92ba96 | |
parent | 5400fb840b3d04eacc29b4d91a2f2e053fbe0b48 (diff) |
Move PrinterWorker to core
Task-number: QTBUG-74585
Change-Id: I1968d5104d7d0d86d8f33879ed8c06f2a4846509
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | src/core/core_chromium.pri | 2 | ||||
-rw-r--r-- | src/core/core_common.pri | 1 | ||||
-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.cpp | 2 | ||||
-rw-r--r-- | src/webenginewidgets/webenginewidgets.pro | 7 |
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) |