File indexing completed on 2026-07-19 05:01:49

0001 /*
0002    SPDX-FileCopyrightText: 2021-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "administratordirectroomseditwidget.h"
0008 #include <KLocalizedString>
0009 #include <QCheckBox>
0010 #include <QFormLayout>
0011 #include <QLineEdit>
0012 
0013 AdministratorDirectRoomsEditWidget::AdministratorDirectRoomsEditWidget(QWidget *parent)
0014     : AdministratorRoomsEditBaseWidget{parent}
0015     , mLineEdit(new QLineEdit(this))
0016     , mDefaultCheckBox(new QCheckBox(i18n("Default"), this))
0017     , mFavoriteCheckBox(new QCheckBox(i18n("Favorite"), this))
0018     , mFeaturedCheckBox(new QCheckBox(i18n("Featured"), this))
0019 {
0020     auto mainLayout = new QFormLayout(this);
0021     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0022     mainLayout->setContentsMargins({});
0023     mLineEdit->setObjectName(QStringLiteral("mLineEdit"));
0024     mainLayout->addRow(i18n("Name:"), mLineEdit);
0025     mLineEdit->setReadOnly(true);
0026 
0027     mDefaultCheckBox->setObjectName(QStringLiteral("mDefaultCheckBox"));
0028     mFavoriteCheckBox->setObjectName(QStringLiteral("mFavoriteCheckBox"));
0029     mFeaturedCheckBox->setObjectName(QStringLiteral("mFeaturedCheckBox"));
0030 
0031     mainLayout->addWidget(mDefaultCheckBox);
0032     mainLayout->addWidget(mFavoriteCheckBox);
0033     mainLayout->addWidget(mFeaturedCheckBox);
0034 }
0035 
0036 AdministratorDirectRoomsEditWidget::~AdministratorDirectRoomsEditWidget() = default;
0037 
0038 AdministratorRoomsEditBaseWidget::RoomEditInfo AdministratorDirectRoomsEditWidget::roomEditInfo() const
0039 {
0040     AdministratorRoomsEditBaseWidget::RoomEditInfo info;
0041     info.name = mLineEdit->text();
0042     info.featured = mFeaturedCheckBox->isChecked();
0043     info.defaultRoom = mDefaultCheckBox->isChecked();
0044     info.favorite = mFavoriteCheckBox->isChecked();
0045     return info;
0046 }
0047 
0048 void AdministratorDirectRoomsEditWidget::setRoomEditInfo(const RoomEditInfo &newRoomEditInfo)
0049 {
0050     mLineEdit->setText(newRoomEditInfo.name);
0051     mFeaturedCheckBox->setChecked(newRoomEditInfo.featured);
0052     mDefaultCheckBox->setChecked(newRoomEditInfo.defaultRoom);
0053     mFavoriteCheckBox->setChecked(newRoomEditInfo.favorite);
0054 }
0055 
0056 #include "moc_administratordirectroomseditwidget.cpp"