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 "administratorroomseditdialog.h" 0008 #include "administratordirectroomseditwidget.h" 0009 #include "administratorroomseditwidget.h" 0010 0011 #include <KLocalizedString> 0012 #include <QDialogButtonBox> 0013 #include <QPushButton> 0014 #include <QVBoxLayout> 0015 0016 AdministratorRoomsEditDialog::AdministratorRoomsEditDialog(RoomType roomType, QWidget *parent) 0017 : QDialog(parent) 0018 , mRoomType(roomType) 0019 { 0020 auto mainLayout = new QVBoxLayout(this); 0021 mainLayout->setObjectName(QStringLiteral("mainLayout")); 0022 0023 switch (mRoomType) { 0024 case DirectRoom: 0025 setWindowTitle(i18nc("@title:window", "Edit Direct Room")); 0026 mAdministratorRoomEditWidget = new AdministratorDirectRoomsEditWidget(this); 0027 break; 0028 case Team: 0029 case Group: 0030 case Channel: 0031 setWindowTitle(i18nc("@title:window", "Edit Room")); 0032 mAdministratorRoomEditWidget = new AdministratorRoomsEditWidget(this); 0033 break; 0034 case Unknown: 0035 Q_ASSERT(false); 0036 break; 0037 } 0038 mAdministratorRoomEditWidget->setObjectName(QStringLiteral("mAdministratorRoomEditWidget")); 0039 mainLayout->addWidget(mAdministratorRoomEditWidget); 0040 0041 auto button = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); 0042 button->setObjectName(QStringLiteral("button")); 0043 mainLayout->addWidget(button); 0044 0045 connect(button, &QDialogButtonBox::rejected, this, &AdministratorRoomsEditDialog::reject); 0046 connect(button, &QDialogButtonBox::accepted, this, &AdministratorRoomsEditDialog::accept); 0047 resize(350, 50); 0048 } 0049 0050 AdministratorRoomsEditDialog::~AdministratorRoomsEditDialog() = default; 0051 0052 AdministratorRoomsEditDialog::RoomType AdministratorRoomsEditDialog::roomType() const 0053 { 0054 return mRoomType; 0055 } 0056 0057 AdministratorRoomsEditBaseWidget::RoomEditInfo AdministratorRoomsEditDialog::roomEditInfo() const 0058 { 0059 return mAdministratorRoomEditWidget->roomEditInfo(); 0060 } 0061 0062 void AdministratorRoomsEditDialog::setRoomEditInfo(const AdministratorRoomsEditBaseWidget::RoomEditInfo &newRoomEditInfo) 0063 { 0064 mAdministratorRoomEditWidget->setRoomEditInfo(newRoomEditInfo); 0065 } 0066 0067 #include "moc_administratorroomseditdialog.cpp"