Messagelib
7 #include "webengineexporthtmlpagejob.h"
8 #include <QTemporaryFile>
9 #include <QWebEngineView>
11 using namespace WebEngineViewer;
12 template<
typename Arg,
typename R,
typename C>
13 struct InvokeWrapper {
15 void (C::*memberFun)(Arg);
16 void operator()(Arg result)
18 (receiver->*memberFun)(result);
22 template<
typename Arg,
typename R,
typename C>
23 InvokeWrapper<Arg, R, C> invokeWebEngineExportHtml(R *receiver,
void (C::*memberFun)(Arg))
25 InvokeWrapper<Arg, R, C> wrapper = {receiver, memberFun};
29 WebEngineExportHtmlPageJob::WebEngineExportHtmlPageJob(
QObject *parent)
34 WebEngineExportHtmlPageJob::~WebEngineExportHtmlPageJob() =
default;
36 void WebEngineExportHtmlPageJob::start()
43 mEngineView->page()->toHtml(invokeWebEngineExportHtml(
this, &WebEngineExportHtmlPageJob::slotSaveHtmlToPage));
46 void WebEngineExportHtmlPageJob::slotSaveHtmlToPage(
const QString &text)
50 if (!temporaryFile.
open()) {
56 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
57 stream.setCodec(
"UTF-8");
62 temporaryFile.
close();
68 QWebEngineView *WebEngineExportHtmlPageJob::engineView()
const
73 void WebEngineExportHtmlPageJob::setEngineView(QWebEngineView *engineView)
75 mEngineView = engineView;
void setAutoRemove(bool b)
virtual QString fileName() const const override
virtual void close() override
QString & replace(int position, int n, QChar after)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Mar 26 2023 04:08:12 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.