File indexing completed on 2025-03-09 04:54:34
0001 /* 0002 SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 #include "messageviewer_export.h" 0009 #include <KMessageWidget> 0010 #include <KMime/MDN> 0011 0012 namespace MessageViewer 0013 { 0014 /** 0015 * @brief The MDNWarningWidget class 0016 * @author Laurent Montel <montel@kde.org> 0017 */ 0018 class MESSAGEVIEWER_EXPORT MDNWarningWidget : public KMessageWidget 0019 { 0020 Q_OBJECT 0021 public: 0022 enum ResponseType { 0023 Ignore = 0, 0024 Send = 1, 0025 SendDeny = 2, 0026 }; 0027 explicit MDNWarningWidget(QWidget *parent = nullptr); 0028 ~MDNWarningWidget() override; 0029 0030 void setCanDeny(bool deny); 0031 0032 void setInformation(const QString &str); 0033 0034 [[nodiscard]] KMime::MDN::SendingMode sendingMode() const; 0035 void setSendingMode(KMime::MDN::SendingMode newSendingMode); 0036 0037 Q_SIGNALS: 0038 void sendResponse(MessageViewer::MDNWarningWidget::ResponseType type, KMime::MDN::SendingMode sendingMode); 0039 0040 private: 0041 MESSAGEVIEWER_NO_EXPORT void slotSend(); 0042 MESSAGEVIEWER_NO_EXPORT void slotIgnore(); 0043 MESSAGEVIEWER_NO_EXPORT void slotSendDeny(); 0044 QAction *const mIgnoreAction; 0045 QAction *const mSendAction; 0046 QAction *const mSendDenyAction; 0047 KMime::MDN::SendingMode mSendingMode = KMime::MDN::SentAutomatically; 0048 }; 0049 }