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 <QString> 0010 0011 #include "messagecomposer_export.h" 0012 #include "messagepart.h" 0013 #include <KPIMTextEdit/RichTextComposerImages> 0014 0015 namespace MessageComposer 0016 { 0017 /** 0018 * @brief The TextPart class 0019 */ 0020 class MESSAGECOMPOSER_EXPORT TextPart : public MessagePart 0021 { 0022 Q_OBJECT 0023 0024 /// True iff the text is word wrapped. By default: true. 0025 Q_PROPERTY(bool isWordWrappingEnabled READ isWordWrappingEnabled WRITE setWordWrappingEnabled NOTIFY wordWrappingChanged) 0026 0027 /// Default true. 0028 Q_PROPERTY(bool warnBadCharset READ warnBadCharset WRITE setWarnBadCharset NOTIFY warnBadCharsetChanged) 0029 0030 Q_PROPERTY(QString cleanPlainText READ cleanPlainText WRITE setCleanPlainText NOTIFY cleanPlainTextChanged) 0031 Q_PROPERTY(QString wrappedPlainText READ wrappedPlainText WRITE setWrappedPlainText NOTIFY wrappedPlainTextChanged) 0032 Q_PROPERTY(QString cleanHtml READ cleanHtml WRITE setCleanHtml NOTIFY cleanHtmlChanged) 0033 Q_PROPERTY(bool isHtmlUsed READ isHtmlUsed NOTIFY cleanHtmlChanged) 0034 Q_PROPERTY(bool hasEmbeddedImages READ hasEmbeddedImages NOTIFY embeddedImagesChanged) 0035 Q_PROPERTY(KPIMTextEdit::ImageList embeddedImages READ embeddedImages WRITE setEmbeddedImages NOTIFY embeddedImagesChanged) 0036 0037 public: 0038 explicit TextPart(QObject *parent = nullptr); 0039 ~TextPart() override; 0040 0041 // default true 0042 [[nodiscard]] bool isWordWrappingEnabled() const; 0043 void setWordWrappingEnabled(bool enabled); 0044 // default true 0045 [[nodiscard]] bool warnBadCharset() const; 0046 void setWarnBadCharset(bool warn); 0047 0048 [[nodiscard]] QString cleanPlainText() const; 0049 void setCleanPlainText(const QString &text); 0050 [[nodiscard]] QString wrappedPlainText() const; 0051 void setWrappedPlainText(const QString &text); 0052 0053 [[nodiscard]] bool isHtmlUsed() const; 0054 [[nodiscard]] QString cleanHtml() const; 0055 void setCleanHtml(const QString &text); 0056 0057 [[nodiscard]] bool hasEmbeddedImages() const; 0058 [[nodiscard]] KPIMTextEdit::ImageList embeddedImages() const; 0059 void setEmbeddedImages(const KPIMTextEdit::ImageList &images); 0060 0061 Q_SIGNALS: 0062 void wordWrappingChanged(); 0063 void warnBadCharsetChanged(); 0064 void cleanPlainTextChanged(); 0065 void wrappedPlainTextChanged(); 0066 void cleanHtmlChanged(); 0067 void embeddedImagesChanged(); 0068 0069 private: 0070 class TextPartPrivate; 0071 std::unique_ptr<TextPartPrivate> const d; 0072 }; 0073 } // namespace MessageComposer