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 }