File indexing completed on 2024-04-28 16:52:52
0001 /* 0002 SPDX-FileCopyrightText: 2015 Jan Grulich <jgrulich@redhat.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef SSH_WIDGET_H 0008 #define SSH_WIDGET_H 0009 0010 #include "passwordfield.h" 0011 #include "settingwidget.h" 0012 0013 #include <NetworkManagerQt/VpnSetting> 0014 0015 class SshSettingWidgetPrivate; 0016 0017 class SshSettingWidget : public SettingWidget 0018 { 0019 Q_OBJECT 0020 Q_DECLARE_PRIVATE(SshSettingWidget) 0021 public: 0022 explicit SshSettingWidget(const NetworkManager::VpnSetting::Ptr &setting, QWidget *parent = nullptr); 0023 ~SshSettingWidget() override; 0024 0025 void loadConfig(const NetworkManager::Setting::Ptr &setting) override; 0026 void loadSecrets(const NetworkManager::Setting::Ptr &setting) override; 0027 0028 QVariantMap setting() const override; 0029 bool isValid() const override; 0030 0031 private Q_SLOTS: 0032 void authTypeChanged(int index); 0033 void doAdvancedDialog(); 0034 void passwordTypeChanged(int index); 0035 0036 private: 0037 SshSettingWidgetPrivate *const d_ptr; 0038 void fillOnePasswordCombo(PasswordField *, NetworkManager::Setting::SecretFlags); 0039 void handleOnePasswordType(const PasswordField *, const QString &, NMStringMap &) const; 0040 }; 0041 0042 #endif // SSH_WIDGET_H