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)13AdministratorDirectRoomsEditWidget::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()36AdministratorDirectRoomsEditWidget::~AdministratorDirectRoomsEditWidget() 37 { 38 } 39 roomEditInfo() const40AdministratorRoomsEditBaseWidget::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)50void 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