void PasswordDialog::setupGenericUi(const ConnectionSettings &connectionSettings) { Setting::Ptr setting = connectionSettings.setting(m_settingName); ui = new Ui::PasswordDialog; ui->setupUi(this); // TODO fix this for high DPI ui->labelIcon->setPixmap(QIcon::fromTheme(QStringLiteral("dialog-password")).pixmap(KIconLoader::SizeMedium)); m_neededSecrets = setting->needSecrets(m_flags & SecretAgent::RequestNew); if (m_neededSecrets.isEmpty()) { qCWarning(PLASMA_NM) << "list of secrets is empty!!!"; m_hasError = true; m_error = SecretAgent::InternalError; m_errorMessage = QLatin1String("No secrets were requested"); return; } WirelessSetting::Ptr wifi = connectionSettings.setting(Setting::Wireless).dynamicCast<WirelessSetting>(); Setting::SettingType connectionType = setting->type(); if (wifi && (connectionType == Setting::WirelessSecurity || connectionType == Setting::Security8021x)) { const QString ssid = QString::fromUtf8(wifi->ssid()); ui->labelText->setText(i18n("For accessing the wireless network '%1' you need to provide a password below", ssid)); } else { ui->labelText->setText(i18n("Please provide the password for activating connection '%1'", connectionSettings.id())); } ui->password->setFocus(); connect(ui->showPassword, &QCheckBox::toggled, this, &PasswordDialog::showPassword); connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &PasswordDialog::accept); connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &PasswordDialog::reject); }
void PasswordDialog::setupVpnUi(const ConnectionSettings &connectionSettings) { NetworkManager::VpnSetting::Ptr vpnSetting = connectionSettings.setting(Setting::Vpn).dynamicCast<VpnSetting>(); if (!vpnSetting) { qCWarning(PLASMA_NM) << "Missing VPN setting!"; m_hasError = true; m_error = SecretAgent::InternalError; m_errorMessage = QLatin1String("VPN settings are missing"); } else { VpnUiPlugin *vpnUiPlugin; QString error; const QString serviceType = vpnSetting->serviceType(); // qCDebug(PLASMA_NM) << "Agent loading VPN plugin" << serviceType << "from DBUS" << calledFromDBus(); // vpnSetting->printSetting(); vpnUiPlugin = KServiceTypeTrader::createInstanceFromQuery<VpnUiPlugin>(QLatin1String("PlasmaNetworkManagement/VpnUiPlugin"), QString::fromLatin1("[X-NetworkManager-Services]=='%1'").arg(serviceType), this, QVariantList(), &error); if (vpnUiPlugin && error.isEmpty()) { const QString shortName = serviceType.section('.', -1); setWindowTitle(i18n("VPN secrets (%1)", shortName)); vpnWidget = vpnUiPlugin->askUser(vpnSetting, this); QDialogButtonBox * box; if (shortName != QLatin1String("openconnect")) { box = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this); connect(box, &QDialogButtonBox::accepted, this, &PasswordDialog::accept); } else { box = new QDialogButtonBox(QDialogButtonBox::Cancel, Qt::Horizontal, this); } connect(box, &QDialogButtonBox::rejected, this, &PasswordDialog::reject); QVBoxLayout * layout = new QVBoxLayout(this); layout->addWidget(vpnWidget); layout->addWidget(box); setLayout(layout); } else { qCWarning(PLASMA_NM) << error << ", serviceType == " << serviceType; m_hasError = true; m_error = SecretAgent::InternalError; m_errorMessage = error; } } }