7 #include "templateparserextracthtmlinfo.h"
8 #include "templateextracthtmlelementfrommail.h"
9 #include "templateextracttextfrommail.h"
10 #include "templateparser_debug.h"
12 using namespace TemplateParser;
14 TemplateParserExtractHtmlInfo::TemplateParserExtractHtmlInfo(
QObject *parent)
19 TemplateParserExtractHtmlInfo::~TemplateParserExtractHtmlInfo()
21 if (mTemplateWebEngineView) {
24 if (mExtractHtmlElementWebEngineView) {
25 mExtractHtmlElementWebEngineView->deleteLater();
29 void TemplateParserExtractHtmlInfo::setHtmlForExtractingTextPlain(
const QString &html)
31 mHtmlForExtractingTextPlain = html;
34 void TemplateParserExtractHtmlInfo::setHtmlForExtractionHeaderAndBody(
const QString &html)
36 mHtmlForExtractionHeaderAndBody = html;
39 void TemplateParserExtractHtmlInfo::setTemplate(
const QString &str)
47 mResult.mTemplate = mTemplateStr;
48 if (!mHtmlForExtractingTextPlain.isEmpty()) {
50 connect(mTemplateWebEngineView, &TemplateExtractTextFromMail::loadContentDone,
this, &TemplateParserExtractHtmlInfo::slotExtractToPlainTextFinished);
51 mTemplateWebEngineView->setHtmlContent(mHtmlForExtractingTextPlain);
53 qCDebug(TEMPLATEPARSER_LOG) <<
"html string is empty for extracting to plainText";
54 slotExtractToPlainTextFinished(
false);
58 void TemplateParserExtractHtmlInfo::slotExtractToPlainTextFinished(
bool success)
61 mResult.mPlainText = mTemplateWebEngineView->plainText();
63 qCDebug(TEMPLATEPARSER_LOG) <<
"Impossible to extract plaintext";
65 if (!mHtmlForExtractionHeaderAndBody.isEmpty()) {
66 mExtractHtmlElementWebEngineView =
new TemplateExtractHtmlElementFromMail;
67 connect(mExtractHtmlElementWebEngineView,
68 &TemplateExtractHtmlElementFromMail::loadContentDone,
70 &TemplateParserExtractHtmlInfo::slotExtractHtmlElementFinished);
71 mExtractHtmlElementWebEngineView->setHtmlContent(mHtmlForExtractionHeaderAndBody);
73 qCDebug(TEMPLATEPARSER_LOG) <<
"html string is empty for extracting to header and body";
74 slotExtractHtmlElementFinished(
false);
78 void TemplateParserExtractHtmlInfo::slotExtractHtmlElementFinished(
bool success)
81 mResult.mBodyElement = mExtractHtmlElementWebEngineView->bodyElement();
82 mResult.mHeaderElement = mExtractHtmlElementWebEngineView->headerElement();
83 mResult.mHtmlElement = mExtractHtmlElementWebEngineView->htmlElement();
85 qCDebug(TEMPLATEPARSER_LOG) <<
"Impossible to extract html element";
87 Q_EMIT finished(mResult);