File indexing completed on 2025-02-16 04:57:41

0001 /*
0002    SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "templateparser_private_export.h"
0010 #include "templateparserextracthtmlinforesult.h"
0011 #include <QObject>
0012 
0013 namespace TemplateParser
0014 {
0015 class TemplateExtractTextFromMail;
0016 class TemplateExtractHtmlElementFromMail;
0017 
0018 class TEMPLATEPARSER_TESTS_EXPORT TemplateParserExtractHtmlInfo : public QObject
0019 {
0020     Q_OBJECT
0021 public:
0022     explicit TemplateParserExtractHtmlInfo(QObject *parent = nullptr);
0023     ~TemplateParserExtractHtmlInfo() override;
0024 
0025     void setHtmlForExtractingTextPlain(const QString &html);
0026     void setHtmlForExtractionHeaderAndBody(const QString &html);
0027     void setTemplate(const QString &str);
0028     void start();
0029 
0030 Q_SIGNALS:
0031     void finished(const TemplateParserExtractHtmlInfoResult &result);
0032 
0033 private:
0034     void slotExtractHtmlElementFinished(bool success);
0035     void slotExtractToPlainTextFinished(bool success);
0036 
0037     TemplateParserExtractHtmlInfoResult mResult;
0038 
0039     QString mHtmlForExtractingTextPlain;
0040     QString mHtmlForExtractionHeaderAndBody;
0041 
0042     QString mTemplateStr;
0043 
0044     TemplateExtractTextFromMail *mTemplateWebEngineView = nullptr;
0045     TemplateExtractHtmlElementFromMail *mExtractHtmlElementWebEngineView = nullptr;
0046 };
0047 }