1 /*
2    SPDX-FileCopyrightText: 2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "administratordirectroomseditwidget.h"
8 #include <KLocalizedString>
9 #include <QCheckBox>
10 #include <QFormLayout>
11 #include <QLineEdit>
12 
AdministratorDirectRoomsEditWidget(QWidget * parent)13 AdministratorDirectRoomsEditWidget::AdministratorDirectRoomsEditWidget(QWidget *parent)
14     : AdministratorRoomsEditBaseWidget{parent}
15     , mLineEdit(new QLineEdit(this))
16     , mDefaultCheckBox(new QCheckBox(i18n("Default"), this))
17     , mFavoriteCheckBox(new QCheckBox(i18n("Favorite"), this))
18     , mFeaturedCheckBox(new QCheckBox(i18n("Featured"), this))
19 {
20     auto mainLayout = new QFormLayout(this);
21     mainLayout->setObjectName(QStringLiteral("mainLayout"));
22     mainLayout->setContentsMargins({});
23     mLineEdit->setObjectName(QStringLiteral("mLineEdit"));
24     mainLayout->addRow(i18n("Name:"), mLineEdit);
25     mLineEdit->setReadOnly(true);
26 
27     mDefaultCheckBox->setObjectName(QStringLiteral("mDefaultCheckBox"));
28     mFavoriteCheckBox->setObjectName(QStringLiteral("mFavoriteCheckBox"));
29     mFeaturedCheckBox->setObjectName(QStringLiteral("mFeaturedCheckBox"));
30 
31     mainLayout->addRow(mDefaultCheckBox);
32     mainLayout->addRow(mFavoriteCheckBox);
33     mainLayout->addRow(mFeaturedCheckBox);
34 }
35 
~AdministratorDirectRoomsEditWidget()36 AdministratorDirectRoomsEditWidget::~AdministratorDirectRoomsEditWidget()
37 {
38 }
39 
roomEditInfo() const40 AdministratorRoomsEditBaseWidget::RoomEditInfo AdministratorDirectRoomsEditWidget::roomEditInfo() const
41 {
42     AdministratorRoomsEditBaseWidget::RoomEditInfo info;
43     info.name = mLineEdit->text();
44     info.featured = mFeaturedCheckBox->isChecked();
45     info.defaultRoom = mDefaultCheckBox->isChecked();
46     info.favorite = mFavoriteCheckBox->isChecked();
47     return info;
48 }
49 
setRoomEditInfo(const RoomEditInfo & newRoomEditInfo)50 void AdministratorDirectRoomsEditWidget::setRoomEditInfo(const RoomEditInfo &newRoomEditInfo)
51 {
52     mLineEdit->setText(newRoomEditInfo.name);
53     mFeaturedCheckBox->setChecked(newRoomEditInfo.featured);
54     mDefaultCheckBox->setChecked(newRoomEditInfo.defaultRoom);
55     mFavoriteCheckBox->setChecked(newRoomEditInfo.favorite);
56 }
57