File indexing completed on 2024-05-12 16:27:15

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "reportmessagewidget.h"
0008 
0009 #include <KTextEdit>
0010 #include <QHBoxLayout>
0011 #include <QLabel>
0012 
0013 #include <KLocalizedString>
0014 
0015 ReportMessageWidget::ReportMessageWidget(QWidget *parent)
0016     : QWidget(parent)
0017     , mMessageLineEdit(new KTextEdit(this))
0018     , mMessagePreview(new QLabel(this))
0019 {
0020     auto mainLayout = new QVBoxLayout(this);
0021     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0022     mainLayout->setContentsMargins({});
0023 
0024     mMessagePreview->setObjectName(QStringLiteral("mMessagePreview"));
0025     mMessagePreview->setWordWrap(true);
0026     QFont messagePreviewFont = mMessagePreview->font();
0027     messagePreviewFont.setBold(true);
0028     mMessagePreview->setFont(messagePreviewFont);
0029     mainLayout->addWidget(mMessagePreview);
0030 
0031     auto messageLayout = new QHBoxLayout;
0032     messageLayout->setObjectName(QStringLiteral("messageLayout"));
0033     messageLayout->setContentsMargins({});
0034 
0035     mainLayout->addLayout(messageLayout);
0036 
0037     auto lab = new QLabel(i18n("Message:"), this);
0038     lab->setObjectName(QStringLiteral("label"));
0039     messageLayout->addWidget(lab);
0040 
0041     mMessageLineEdit->setObjectName(QStringLiteral("mMessageLineEdit"));
0042     mMessageLineEdit->setAcceptRichText(false);
0043     mMessageLineEdit->setPlaceholderText(i18n("Why you signal this message?"));
0044     messageLayout->addWidget(mMessageLineEdit);
0045     connect(mMessageLineEdit, &KTextEdit::textChanged, this, [this]() {
0046         Q_EMIT updateOkButton(!mMessageLineEdit->toPlainText().trimmed().isEmpty());
0047     });
0048 }
0049 
0050 ReportMessageWidget::~ReportMessageWidget() = default;
0051 
0052 QString ReportMessageWidget::message() const
0053 {
0054     return mMessageLineEdit->toPlainText();
0055 }
0056 
0057 void ReportMessageWidget::setPreviewMessage(const QString &msg)
0058 {
0059     mMessagePreview->setText(msg);
0060 }
0061 
0062 #include "moc_reportmessagewidget.cpp"