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 #include "mdnwarningwidget.h" 0008 #include <KLocalizedString> 0009 #include <QAction> 0010 0011 using namespace MessageViewer; 0012 MDNWarningWidget::MDNWarningWidget(QWidget *parent) 0013 : KMessageWidget(parent) 0014 , mIgnoreAction(new QAction(i18nc("@action", "Ignore"), this)) 0015 , mSendAction(new QAction(i18nc("@action", "Send"), this)) 0016 , mSendDenyAction(new QAction(i18nc("@action", "Send Deny"), this)) 0017 { 0018 setVisible(false); 0019 setMessageType(Information); 0020 setWordWrap(true); 0021 setCloseButtonVisible(false); 0022 setPosition(KMessageWidget::Header); 0023 connect(mIgnoreAction, &QAction::triggered, this, &MDNWarningWidget::slotIgnore); 0024 addAction(mIgnoreAction); 0025 connect(mSendAction, &QAction::triggered, this, &MDNWarningWidget::slotSend); 0026 addAction(mSendAction); 0027 connect(mSendDenyAction, &QAction::triggered, this, &MDNWarningWidget::slotSendDeny); 0028 addAction(mSendDenyAction); 0029 mSendDenyAction->setVisible(false); // Hidden by default 0030 mIgnoreAction->setObjectName(QLatin1StringView("mIgnoreAction")); 0031 mSendAction->setObjectName(QLatin1StringView("mSendAction")); 0032 mSendDenyAction->setObjectName(QLatin1StringView("mSendDenyAction")); 0033 } 0034 0035 MDNWarningWidget::~MDNWarningWidget() = default; 0036 0037 void MDNWarningWidget::setCanDeny(bool deny) 0038 { 0039 mSendDenyAction->setVisible(deny); 0040 } 0041 0042 void MDNWarningWidget::setInformation(const QString &str) 0043 { 0044 setText(str); 0045 animatedShow(); 0046 } 0047 0048 void MDNWarningWidget::slotSend() 0049 { 0050 animatedHide(); 0051 Q_EMIT sendResponse(MessageViewer::MDNWarningWidget::ResponseType::Send, mSendingMode); 0052 } 0053 0054 void MDNWarningWidget::slotIgnore() 0055 { 0056 animatedHide(); 0057 Q_EMIT sendResponse(MessageViewer::MDNWarningWidget::ResponseType::Ignore, mSendingMode); 0058 } 0059 0060 void MDNWarningWidget::slotSendDeny() 0061 { 0062 animatedHide(); 0063 Q_EMIT sendResponse(MessageViewer::MDNWarningWidget::ResponseType::SendDeny, mSendingMode); 0064 } 0065 0066 KMime::MDN::SendingMode MDNWarningWidget::sendingMode() const 0067 { 0068 return mSendingMode; 0069 } 0070 0071 void MDNWarningWidget::setSendingMode(KMime::MDN::SendingMode newSendingMode) 0072 { 0073 mSendingMode = newSendingMode; 0074 } 0075 0076 #include "moc_mdnwarningwidget.cpp"