File indexing completed on 2024-05-12 16:27:15

0001 /*
0002    SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "resetpasswordwidget.h"
0008 #include "misc/lineeditcatchreturnkey.h"
0009 #include <KEmailAddress>
0010 #include <KLocalizedString>
0011 #include <QHBoxLayout>
0012 #include <QLabel>
0013 #include <QLineEdit>
0014 
0015 ResetPasswordWidget::ResetPasswordWidget(QWidget *parent)
0016     : QWidget{parent}
0017     , mEmail(new QLineEdit(this))
0018 {
0019     auto mainLayout = new QHBoxLayout(this);
0020     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0021     mainLayout->setContentsMargins({});
0022 
0023     auto label = new QLabel(i18n("Email:"), this);
0024     label->setObjectName(QStringLiteral("label"));
0025     mainLayout->addWidget(label);
0026 
0027     mEmail->setObjectName(QStringLiteral("mEmail"));
0028     mainLayout->addWidget(mEmail);
0029     new LineEditCatchReturnKey(mEmail, this);
0030     connect(mEmail, &QLineEdit::textChanged, this, &ResetPasswordWidget::slotEmailChanged);
0031 }
0032 
0033 ResetPasswordWidget::~ResetPasswordWidget() = default;
0034 
0035 void ResetPasswordWidget::slotEmailChanged(const QString &str)
0036 {
0037     const QString email = str.trimmed();
0038     Q_EMIT updateOkButton(KEmailAddress::isValidAddress(email) == KEmailAddress::AddressOk);
0039 }
0040 
0041 QString ResetPasswordWidget::email() const
0042 {
0043     return mEmail->text().trimmed();
0044 }
0045 
0046 #include "moc_resetpasswordwidget.cpp"