File indexing completed on 2024-04-21 16:20:26
0001 /* 0002 SPDX-FileCopyrightText: 2008 Will Stephenson <wstephenson@kde.org> 0003 SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 */ 0007 0008 #ifndef OPENVPNWIDGET_H 0009 #define OPENVPNWIDGET_H 0010 0011 #include "settingwidget.h" 0012 0013 #include <QProcess> 0014 0015 #include "ui_openvpn.h" 0016 0017 #include <NetworkManagerQt/VpnSetting> 0018 0019 class QUrl; 0020 class QLineEdit; 0021 0022 class OpenVpnSettingWidget : public SettingWidget 0023 { 0024 Q_OBJECT 0025 public: 0026 explicit OpenVpnSettingWidget(const NetworkManager::VpnSetting::Ptr &setting, QWidget *parent = nullptr); 0027 ~OpenVpnSettingWidget() override; 0028 0029 void loadConfig(const NetworkManager::Setting::Ptr &setting) override; 0030 void loadSecrets(const NetworkManager::Setting::Ptr &setting) override; 0031 0032 QVariantMap setting() const override; 0033 0034 bool isValid() const override; 0035 0036 private Q_SLOTS: 0037 void updateStartDir(const QUrl &); 0038 void showAdvanced(); 0039 0040 private: 0041 class Private; 0042 Private *const d; 0043 void setPasswordType(QLineEdit *, int); 0044 void fillOnePasswordCombo(PasswordField *, NetworkManager::Setting::SecretFlags); 0045 void handleOnePasswordType(const PasswordField *, const QString &, NMStringMap &) const; 0046 }; 0047 0048 #endif // OPENVPNWIDGET_H