File indexing completed on 2025-03-09 04:54:33

0001 /*
0002    SPDX-FileCopyrightText: 2017 Volker Krause <vkrause@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "htmlwriter.h"
0008 
0009 #include <QTextStream>
0010 
0011 using namespace MessageViewer;
0012 
0013 HtmlWriter::HtmlWriter() = default;
0014 HtmlWriter::~HtmlWriter() = default;
0015 
0016 void HtmlWriter::begin()
0017 {
0018     if (!m_stream) {
0019         m_stream = std::make_unique<QTextStream>();
0020     }
0021     m_stream->setDevice(device());
0022 }
0023 
0024 void HtmlWriter::write(const QString &html)
0025 {
0026     Q_ASSERT(m_stream);
0027     if (!m_stream) {
0028         return;
0029     }
0030     *stream() << html;
0031 }
0032 
0033 void HtmlWriter::end()
0034 {
0035     if (!m_stream) {
0036         return;
0037     }
0038     m_stream->flush();
0039     m_stream->setDevice(nullptr);
0040 }
0041 
0042 void HtmlWriter::reset()
0043 {
0044     if (!m_stream) {
0045         return;
0046     }
0047     m_stream->setDevice(nullptr);
0048 }
0049 
0050 QTextStream *HtmlWriter::stream() const
0051 {
0052     return m_stream.get();
0053 }
0054 
0055 void HtmlWriter::setCodec(const QByteArray &codec)
0056 {
0057     mCodec = codec;
0058 }
0059 
0060 QByteArray HtmlWriter::codec() const
0061 {
0062     return mCodec;
0063 }