File indexing completed on 2024-06-09 04:58:49

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "administratoroauthcreatewidget.h"
0008 #include <KLocalizedString>
0009 #include <QCheckBox>
0010 #include <QFormLayout>
0011 #include <QLineEdit>
0012 
0013 AdministratorOauthCreateWidget::AdministratorOauthCreateWidget(QWidget *parent)
0014     : QWidget{parent}
0015     , mActiveCheckBox(new QCheckBox(i18n("Active"), this))
0016     , mApplicationName(new QLineEdit(this))
0017     , mRedirectUrl(new QLineEdit(this))
0018 {
0019     auto mainLayout = new QFormLayout(this);
0020     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0021 
0022     mActiveCheckBox->setObjectName(QStringLiteral("mActiveCheckBox"));
0023     mainLayout->addWidget(mActiveCheckBox);
0024     mActiveCheckBox->setChecked(false);
0025 
0026     mApplicationName->setObjectName(QStringLiteral("mApplicationName"));
0027     mainLayout->addRow(i18n("Name:"), mApplicationName);
0028 
0029     mRedirectUrl->setObjectName(QStringLiteral("mRedirectUrl"));
0030     mainLayout->addRow(i18n("Redirect Url:"), mRedirectUrl);
0031     connect(mApplicationName, &QLineEdit::textEdited, this, &AdministratorOauthCreateWidget::slotTextChanged);
0032     connect(mRedirectUrl, &QLineEdit::textEdited, this, &AdministratorOauthCreateWidget::slotTextChanged);
0033 }
0034 
0035 AdministratorOauthCreateWidget::~AdministratorOauthCreateWidget() = default;
0036 
0037 void AdministratorOauthCreateWidget::slotTextChanged()
0038 {
0039     Q_EMIT enableOkButton(!mRedirectUrl->text().trimmed().isEmpty() && !mApplicationName->text().trimmed().isEmpty());
0040 }
0041 
0042 AdministratorOauthCreateWidget::OauthCreateInfo AdministratorOauthCreateWidget::oauthInfo() const
0043 {
0044     AdministratorOauthCreateWidget::OauthCreateInfo info;
0045     info.active = mActiveCheckBox->isChecked();
0046     info.applicationName = mApplicationName->text().trimmed();
0047     info.redirectUrl = mRedirectUrl->text().trimmed();
0048     return info;
0049 }
0050 
0051 void AdministratorOauthCreateWidget::setOauthInfo(const OauthCreateInfo &info)
0052 {
0053     mActiveCheckBox->setChecked(info.active);
0054     mApplicationName->setText(info.applicationName);
0055     mRedirectUrl->setText(info.redirectUrl);
0056 }
0057 
0058 QDebug operator<<(QDebug d, const AdministratorOauthCreateWidget::OauthCreateInfo &info)
0059 {
0060     d << "active : " << info.active;
0061     d << "applicationName : " << info.applicationName;
0062     d << "redirectUrl : " << info.redirectUrl;
0063     return d;
0064 }
0065 
0066 #include "moc_administratoroauthcreatewidget.cpp"