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"