File indexing completed on 2024-06-23 05:18:34

0001 /*
0002   SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "messagepart.h"
0010 
0011 #include <QByteArray>
0012 #include <memory>
0013 
0014 namespace MessageComposer
0015 {
0016 /**
0017  * @brief The GlobalPart class
0018  */
0019 class MESSAGECOMPOSER_EXPORT GlobalPart : public MessageComposer::MessagePart
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit GlobalPart(QObject *parent = nullptr);
0025     ~GlobalPart() override;
0026 
0027     // default true
0028     [[nodiscard]] bool isGuiEnabled() const;
0029     void setGuiEnabled(bool enabled);
0030     [[nodiscard]] QWidget *parentWidgetForGui() const;
0031     void setParentWidgetForGui(QWidget *widget);
0032 
0033     [[nodiscard]] bool isFallbackCharsetEnabled() const;
0034     void setFallbackCharsetEnabled(bool enabled);
0035     [[nodiscard]] QList<QByteArray> charsets(bool forceFallback = false) const;
0036     void setCharsets(const QList<QByteArray> &charsets);
0037 
0038     [[nodiscard]] bool is8BitAllowed() const;
0039     void set8BitAllowed(bool allowed);
0040 
0041     // default is false
0042     [[nodiscard]] bool MDNRequested() const;
0043     void setMDNRequested(bool requestMDN);
0044 
0045     [[nodiscard]] bool requestDeleveryConfirmation() const;
0046     void setRequestDeleveryConfirmation(bool value);
0047 
0048 private:
0049     class GlobalPartPrivate;
0050     std::unique_ptr<GlobalPartPrivate> const d;
0051 };
0052 } // namespace MessageComposer