File indexing completed on 2024-04-14 15:39:57
0001 /* 0002 SPDX-FileCopyrightText: 2013 Lukas Tinkl <ltinkl@redhat.com> 0003 SPDX-FileCopyrightText: 2013 Daniel Nicoletti <dantti12@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #ifndef PLASMA_NM_PASSWORD_DIALOG_H 0009 #define PLASMA_NM_PASSWORD_DIALOG_H 0010 0011 #include <NetworkManagerQt/ConnectionSettings> 0012 #include <NetworkManagerQt/SecretAgent> 0013 0014 #include <QDialog> 0015 0016 namespace Ui 0017 { 0018 class PasswordDialog; 0019 } 0020 0021 class SettingWidget; 0022 0023 class Q_DECL_EXPORT PasswordDialog : public QDialog 0024 { 0025 Q_OBJECT 0026 public: 0027 explicit PasswordDialog(const NetworkManager::ConnectionSettings::Ptr &connectionSettings, 0028 NetworkManager::SecretAgent::GetSecretsFlags flags, 0029 const QString &setting_name, 0030 const QStringList &hints = QStringList(), 0031 QWidget *parent = nullptr); 0032 ~PasswordDialog() override; 0033 0034 bool hasError() const; 0035 NetworkManager::SecretAgent::Error error() const; 0036 QString errorMessage() const; 0037 0038 NMVariantMapMap secrets() const; 0039 0040 private: 0041 void initializeUi(); 0042 0043 Ui::PasswordDialog *m_ui = nullptr; 0044 bool m_hasError = false; 0045 QString m_errorMessage; 0046 QString m_settingName; 0047 QStringList m_neededSecrets; 0048 NetworkManager::ConnectionSettings::Ptr m_connectionSettings; 0049 NetworkManager::SecretAgent::Error m_error; 0050 NetworkManager::SecretAgent::GetSecretsFlags m_flags; 0051 SettingWidget *m_vpnWidget = nullptr; 0052 QStringList m_hints; 0053 }; 0054 0055 #endif // PLASMA_NM_PASSWORD_DIALOG_H