File indexing completed on 2025-03-09 04:54:32
0001 /* -*- c++ -*- 0002 headerstyle.cpp 0003 0004 This file is part of KMail, the KDE mail client. 0005 SPDX-FileCopyrightText: 2003 Marc Mutz <mutz@kde.org> 0006 0007 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 0012 #include "headerstyle.h" 0013 #include <GrantleeTheme/GrantleeTheme> 0014 0015 using namespace MessageViewer; 0016 // 0017 // HeaderStyle abstract base: 0018 // 0019 class MessageViewer::HeaderStylePrivate 0020 { 0021 public: 0022 HeaderStylePrivate() = default; 0023 0024 GrantleeTheme::Theme mTheme; 0025 const HeaderStrategy *mStrategy = nullptr; 0026 QString mVCardName; 0027 QString mAttachmentHtml; 0028 MimeTreeParser::NodeHelper *mNodeHelper = nullptr; 0029 QObject *mSourceObject = nullptr; 0030 Akonadi::MessageStatus mMessageStatus; 0031 bool mPrinting = false; 0032 bool mTopLevel = true; 0033 bool mAllowAsync = false; 0034 bool mReadOnlyMessage = false; 0035 bool mShowEmoticons = true; 0036 }; 0037 0038 HeaderStyle::HeaderStyle() 0039 : d(new MessageViewer::HeaderStylePrivate) 0040 { 0041 } 0042 0043 HeaderStyle::~HeaderStyle() = default; 0044 0045 void HeaderStyle::setAttachmentHtml(const QString &html) 0046 { 0047 d->mAttachmentHtml = html; 0048 } 0049 0050 QString HeaderStyle::attachmentHtml() const 0051 { 0052 return d->mAttachmentHtml; 0053 } 0054 0055 void HeaderStyle::setHeaderStrategy(const HeaderStrategy *strategy) 0056 { 0057 d->mStrategy = strategy; 0058 } 0059 0060 const HeaderStrategy *HeaderStyle::headerStrategy() const 0061 { 0062 return d->mStrategy; 0063 } 0064 0065 void HeaderStyle::setVCardName(const QString &vCardName) 0066 { 0067 d->mVCardName = vCardName; 0068 } 0069 0070 QString HeaderStyle::vCardName() const 0071 { 0072 return d->mVCardName; 0073 } 0074 0075 void HeaderStyle::setPrinting(bool printing) 0076 { 0077 d->mPrinting = printing; 0078 } 0079 0080 bool HeaderStyle::isPrinting() const 0081 { 0082 return d->mPrinting; 0083 } 0084 0085 void HeaderStyle::setTopLevel(bool topLevel) 0086 { 0087 d->mTopLevel = topLevel; 0088 } 0089 0090 bool HeaderStyle::isTopLevel() const 0091 { 0092 return d->mTopLevel; 0093 } 0094 0095 void HeaderStyle::setNodeHelper(MimeTreeParser::NodeHelper *nodeHelper) 0096 { 0097 d->mNodeHelper = nodeHelper; 0098 } 0099 0100 MimeTreeParser::NodeHelper *HeaderStyle::nodeHelper() const 0101 { 0102 return d->mNodeHelper; 0103 } 0104 0105 void HeaderStyle::setAllowAsync(bool allowAsync) 0106 { 0107 d->mAllowAsync = allowAsync; 0108 } 0109 0110 bool HeaderStyle::allowAsync() const 0111 { 0112 return d->mAllowAsync; 0113 } 0114 0115 void HeaderStyle::setSourceObject(QObject *sourceObject) 0116 { 0117 d->mSourceObject = sourceObject; 0118 } 0119 0120 QObject *HeaderStyle::sourceObject() const 0121 { 0122 return d->mSourceObject; 0123 } 0124 0125 void HeaderStyle::setMessageStatus(Akonadi::MessageStatus status) 0126 { 0127 d->mMessageStatus = status; 0128 } 0129 0130 Akonadi::MessageStatus HeaderStyle::messageStatus() const 0131 { 0132 return d->mMessageStatus; 0133 } 0134 0135 void HeaderStyle::setTheme(const GrantleeTheme::Theme &theme) 0136 { 0137 d->mTheme = theme; 0138 } 0139 0140 GrantleeTheme::Theme HeaderStyle::theme() const 0141 { 0142 return d->mTheme; 0143 } 0144 0145 bool HeaderStyle::readOnlyMessage() const 0146 { 0147 return d->mReadOnlyMessage; 0148 } 0149 0150 void HeaderStyle::setReadOnlyMessage(bool readOnlyMessage) 0151 { 0152 d->mReadOnlyMessage = readOnlyMessage; 0153 } 0154 0155 bool HeaderStyle::showEmoticons() const 0156 { 0157 return d->mShowEmoticons; 0158 } 0159 0160 void HeaderStyle::setShowEmoticons(bool b) 0161 { 0162 d->mShowEmoticons = b; 0163 }