File indexing completed on 2025-03-09 04:54:41
0001 /* 0002 SPDX-FileCopyrightText: 2009 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net 0003 SPDX-FileCopyrightText: 2009 Andras Mantia <andras@kdab.net> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "objecttreeviewersource.h" 0009 #include "csshelper.h" 0010 #include <MimeTreeParser/BodyPartFormatterFactory> 0011 0012 #include "messagepartthemes/default/defaultrenderer.h" 0013 #include <MimeTreeParser/BodyPartFormatter> 0014 0015 #include "settings/messageviewersettings.h" 0016 #include "viewer/viewer_p.h" 0017 #include "widgets/htmlstatusbar.h" 0018 0019 using namespace MessageViewer; 0020 0021 MailViewerSource::MailViewerSource(ViewerPrivate *viewer) 0022 : MessageViewer::EmptySource() 0023 , mViewer(viewer) 0024 { 0025 } 0026 0027 MailViewerSource::~MailViewerSource() = default; 0028 0029 bool MailViewerSource::decryptMessage() const 0030 { 0031 return mViewer->decryptMessage(); 0032 } 0033 0034 bool MailViewerSource::htmlLoadExternal() const 0035 { 0036 return mViewer->htmlLoadExternal(); 0037 } 0038 0039 bool MailViewerSource::showSignatureDetails() const 0040 { 0041 return mViewer->mShowSignatureDetails; 0042 } 0043 0044 bool MailViewerSource::showEncryptionDetails() const 0045 { 0046 return mViewer->mShowEncryptionDetails; 0047 } 0048 0049 void MailViewerSource::setHtmlMode(MimeTreeParser::Util::HtmlMode mode, const QList<MimeTreeParser::Util::HtmlMode> &availableModes) 0050 { 0051 // qDebug() << " void MailViewerSource::setHtmlMode(MimeTreeParser::Util::HtmlMode mode, const QList<MimeTreeParser::Util::HtmlMode> &availableModes)"; 0052 // for (int i = 0; i < availableModes.count(); ++i) { 0053 // qDebug() << "MailViewerSource::setHtmlMode Mode " << MimeTreeParser::Util::htmlModeToString(availableModes.at(i)); 0054 // } 0055 // qDebug() << "MailViewerSource::setHtmlMode preferred " << MimeTreeParser::Util::htmlModeToString(mode); 0056 0057 mViewer->mColorBar->setAvailableModes(availableModes); 0058 mViewer->mColorBar->setMode(mode); 0059 } 0060 0061 MimeTreeParser::Util::HtmlMode MailViewerSource::preferredMode() const 0062 { 0063 switch (mViewer->displayFormatMessageOverwrite()) { 0064 case MessageViewer::Viewer::UseGlobalSetting: 0065 case MessageViewer::Viewer::Unknown: 0066 return mViewer->htmlMailGlobalSetting() ? MimeTreeParser::Util::Html : MimeTreeParser::Util ::Normal; 0067 case MessageViewer::Viewer::Html: 0068 return MimeTreeParser::Util::MultipartHtml; 0069 case MessageViewer::Viewer::Text: 0070 return MimeTreeParser::Util::MultipartPlain; 0071 case MessageViewer::Viewer::ICal: 0072 return MimeTreeParser::Util::MultipartIcal; 0073 } 0074 Q_ASSERT(true); 0075 return MimeTreeParser::Util::Html; 0076 } 0077 0078 int MailViewerSource::levelQuote() const 0079 { 0080 return mViewer->mLevelQuote; 0081 } 0082 0083 QByteArray MailViewerSource::overrideCodecName() const 0084 { 0085 return mViewer->overrideCodecName(); 0086 } 0087 0088 QString MailViewerSource::createMessageHeader(KMime::Message *message) 0089 { 0090 return mViewer->writeMessageHeader(message, nullptr, false); 0091 } 0092 0093 const AttachmentStrategy *MailViewerSource::attachmentStrategy() const 0094 { 0095 return mViewer->attachmentStrategy(); 0096 } 0097 0098 CSSHelperBase *MailViewerSource::cssHelper() const 0099 { 0100 return mViewer->cssHelper(); 0101 } 0102 0103 HtmlWriter *MailViewerSource::htmlWriter() const 0104 { 0105 return mViewer->htmlWriter(); 0106 } 0107 0108 bool MailViewerSource::autoImportKeys() const 0109 { 0110 return MessageViewer::MessageViewerSettings::self()->autoImportKeys(); 0111 } 0112 0113 bool MailViewerSource::showEmoticons() const 0114 { 0115 return mViewer->showEmoticons(); 0116 } 0117 0118 bool MailViewerSource::showExpandQuotesMark() const 0119 { 0120 return MessageViewer::MessageViewerSettings::self()->showExpandQuotesMark(); 0121 } 0122 0123 bool MailViewerSource::isPrinting() const 0124 { 0125 return mViewer->mPrinting; 0126 }