From e5915ca4f20cddf75c22d5de84fb0cb70bcb5fc5 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sun, 28 Nov 2021 17:20:39 -0800 Subject: [PATCH] printing: add more debug output This makes it easier to see what's going on during the printing process. Signed-off-by: Dirk Hohndel --- desktop-widgets/printerwebengine.cpp | 20 +++++++++++++++++++- desktop-widgets/printerwebengine.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/desktop-widgets/printerwebengine.cpp b/desktop-widgets/printerwebengine.cpp index a4b874234..9bb5d3272 100644 --- a/desktop-widgets/printerwebengine.cpp +++ b/desktop-widgets/printerwebengine.cpp @@ -24,18 +24,22 @@ Printer::Printer(QPaintDevice *paintDevice, print_options &printOptions, templat { webView = new QWebEngineView(parent); connect(webView, &QWebEngineView::loadFinished, this, &Printer::onLoadFinished); - if (printMode == PRINT) + if (printMode == PRINT) { connect(this, &Printer::profilesInserted, this, &Printer::printing); + connect(this, &Printer::jobDone, this, &Printer::printFinished); + } profilesMissing = true; } Printer::~Printer() { + qDebug() << "deleting Printer object"; delete webView; } void Printer::onLoadFinished() { + qDebug() << "onLoadFinished called with profilesMissing" << profilesMissing << "and URL" << webView->url().toString(); if (profilesMissing) { QString jsText(" var profiles = document.getElementsByClassName(\"diveProfile\");\ for (let profile of profiles) { \ @@ -150,3 +154,17 @@ void Printer::print() printer.setResolution(dpi); } +void Printer::printFinished() +{ + qDebug() << "received the jobDone signal, closing the dialog; page should have referenced:"; + webView->page()->toHtml([](const QString h){ + QRegularExpression img("img src=([^ ]+) "); + QRegularExpressionMatchIterator iter = img.globalMatch(h); + while(iter.hasNext()) { + QRegularExpressionMatch match = iter.next(); + QString filename = match.captured(1).replace("file://", ""); + qDebug() << filename << (QFile(filename).exists() ? "which does" : "which doesn't") << "exist"; + } + }); + +} diff --git a/desktop-widgets/printerwebengine.h b/desktop-widgets/printerwebengine.h index 7419f1ba0..25d4d7941 100644 --- a/desktop-widgets/printerwebengine.h +++ b/desktop-widgets/printerwebengine.h @@ -40,6 +40,7 @@ private: private slots: void templateProgessUpdated(int value); void printing(); + void printFinished(); public: Printer(QPaintDevice *paintDevice, print_options &printOptions, template_options &templateOptions, PrintMode printMode, bool inPlanner, QWidget *parent);