File indexing completed on 2025-01-12 04:34:12

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 "roleeditdialog.h"
0008 
0009 #include <KLocalizedString>
0010 #include <QDialogButtonBox>
0011 #include <QPushButton>
0012 #include <QVBoxLayout>
0013 
0014 RoleEditDialog::RoleEditDialog(QWidget *parent)
0015     : QDialog(parent)
0016     , mRoleEditWidget(new RoleEditWidget(this))
0017 {
0018     setWindowTitle(i18nc("@title:window", "Add Role"));
0019     auto mainLayout = new QVBoxLayout(this);
0020     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0021     mRoleEditWidget->setObjectName(QStringLiteral("mRoleEditWidget"));
0022     mainLayout->addWidget(mRoleEditWidget);
0023 
0024     auto button = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
0025     button->setObjectName(QStringLiteral("button"));
0026     mainLayout->addWidget(button);
0027     auto okButton = button->button(QDialogButtonBox::Ok);
0028     okButton->setEnabled(false);
0029 
0030     connect(button, &QDialogButtonBox::rejected, this, &RoleEditDialog::reject);
0031     connect(button, &QDialogButtonBox::accepted, this, &RoleEditDialog::accept);
0032     resize(350, 50);
0033     connect(mRoleEditWidget, &RoleEditWidget::updateOkButton, this, [okButton](bool b) {
0034         okButton->setEnabled(b);
0035     });
0036 }
0037 
0038 RoleEditDialog::~RoleEditDialog() = default;
0039 
0040 void RoleEditDialog::setRoleEditDialogInfo(const RoleEditWidget::RoleEditDialogInfo &info)
0041 {
0042     setWindowTitle(i18nc("@title:window", "Edit Role"));
0043     mRoleEditWidget->setRoleEditDialogInfo(info);
0044 }
0045 
0046 RoleEditWidget::RoleEditDialogInfo RoleEditDialog::roleEditDialogInfo() const
0047 {
0048     return mRoleEditWidget->roleEditDialogInfo();
0049 }
0050 
0051 #include "moc_roleeditdialog.cpp"