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 "modifystatuswidget.h"
0008 #include "misc/lineeditcatchreturnkey.h"
0009 #include "misc/statuscombobox.h"
0010 #include <KLocalizedString>
0011 #include <QFormLayout>
0012 #include <QLineEdit>
0013 
0014 ModifyStatusWidget::ModifyStatusWidget(QWidget *parent)
0015     : QWidget(parent)
0016     , mStatusCombobox(new StatusCombobox(this))
0017     , mStatusLineEdit(new QLineEdit(this))
0018 {
0019     auto mainLayout = new QFormLayout(this);
0020     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0021     mainLayout->setContentsMargins({});
0022 
0023     mStatusCombobox->setObjectName(QStringLiteral("mStatusCombobox"));
0024 
0025     mStatusCombobox->setUseOnlyStandardStatus();
0026 
0027     mStatusLineEdit->setObjectName(QStringLiteral("mStatusLineEdit"));
0028     mStatusLineEdit->setClearButtonEnabled(true);
0029     new LineEditCatchReturnKey(mStatusLineEdit, this);
0030 
0031     mainLayout->addRow(i18n("Message Status:"), mStatusLineEdit);
0032     mainLayout->addRow(i18n("Status:"), mStatusCombobox);
0033 }
0034 
0035 ModifyStatusWidget::~ModifyStatusWidget() = default;
0036 
0037 void ModifyStatusWidget::setMessageStatus(const QString &statusStr)
0038 {
0039     mStatusLineEdit->setText(statusStr);
0040 }
0041 
0042 QString ModifyStatusWidget::messageStatus() const
0043 {
0044     return mStatusLineEdit->text();
0045 }
0046 
0047 User::PresenceStatus ModifyStatusWidget::status() const
0048 {
0049     return mStatusCombobox->status();
0050 }
0051 
0052 void ModifyStatusWidget::setStatus(User::PresenceStatus status)
0053 {
0054     mStatusCombobox->setStatus(status);
0055 }
0056 
0057 #include "moc_modifystatuswidget.cpp"