File indexing completed on 2025-03-09 04:54:35
0001 /* 0002 SPDX-FileCopyrightText: 2016 Sandro Knauß <sknauss@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QSharedPointer> 0010 0011 #include <functional> 0012 0013 namespace KMime 0014 { 0015 class Message; 0016 } 0017 0018 namespace MimeTreeParser 0019 { 0020 class MessagePart; 0021 using MessagePartPtr = QSharedPointer<MessagePart>; 0022 } 0023 0024 namespace MessageViewer 0025 { 0026 class DefaultRendererPrivate; 0027 class HtmlWriter; 0028 class AttachmentStrategy; 0029 class CSSHelperBase; 0030 0031 class DefaultRenderer 0032 { 0033 public: 0034 explicit DefaultRenderer(CSSHelperBase *cssHelder); 0035 ~DefaultRenderer(); 0036 0037 void setShowOnlyOneMimePart(bool onlyOneMimePart); 0038 void setAttachmentStrategy(const AttachmentStrategy *strategy); 0039 void setShowEmoticons(bool showEmoticons); 0040 void setIsPrinting(bool isPrinting); 0041 void setShowExpandQuotesMark(bool showExpandQuotesMark); 0042 void setShowSignatureDetails(bool showSignatureDetails); 0043 void setLevelQuote(int levelQuote); 0044 void setHtmlLoadExternal(bool htmlLoadExternal); 0045 void setCreateMessageHeader(const std::function<QString(KMime::Message *)> &); 0046 void render(const MimeTreeParser::MessagePartPtr &msgPart, HtmlWriter *writer); 0047 void setShowEncryptionDetails(bool showEncryptionDetails); 0048 0049 private: 0050 std::unique_ptr<DefaultRendererPrivate> const d; 0051 }; 0052 }