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

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 "confirmpasswordwidget.h"
0008 
0009 #include <KAuthorized>
0010 #include <KLocalizedString>
0011 #include <KPasswordLineEdit>
0012 #include <QLabel>
0013 #include <QVBoxLayout>
0014 
0015 ConfirmPasswordWidget::ConfirmPasswordWidget(QWidget *parent)
0016     : QWidget{parent}
0017     , mPasswordLineEdit(new KPasswordLineEdit(this))
0018 {
0019     auto mainLayout = new QVBoxLayout(this);
0020     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0021     mainLayout->setContentsMargins({});
0022 
0023     auto label = new QLabel(i18n("For your security, you must enter your current password to continue"), this);
0024     label->setObjectName(QStringLiteral("label"));
0025     mainLayout->addWidget(label);
0026 
0027     mPasswordLineEdit->setObjectName(QStringLiteral("mPasswordLineEdit"));
0028     mainLayout->addWidget(mPasswordLineEdit);
0029     mPasswordLineEdit->setRevealPasswordAvailable(KAuthorized::authorize(QStringLiteral("lineedit_reveal_password")));
0030     connect(mPasswordLineEdit, &KPasswordLineEdit::passwordChanged, this, [this](const QString &password) {
0031         Q_EMIT enabledOkButton(!password.isEmpty());
0032     });
0033 }
0034 
0035 ConfirmPasswordWidget::~ConfirmPasswordWidget() = default;
0036 
0037 QString ConfirmPasswordWidget::password() const
0038 {
0039     return mPasswordLineEdit->password();
0040 }
0041 
0042 #include "moc_confirmpasswordwidget.cpp"