QVector<SieveEditorUtil::SieveServerConfig> SieveEditorUtil::readServerSieveConfig() { QVector<SieveServerConfig> lstConfig; KSharedConfigPtr cfg = KSharedConfig::openConfig(); QRegularExpression re(QStringLiteral("^ServerSieve (.+)$")); const QStringList groups = cfg->groupList().filter(re); KWallet::Wallet *wallet = SieveServerSettings::self()->wallet(); if (wallet && !wallet->setFolder(QStringLiteral("sieveeditor"))) { wallet->createFolder(QStringLiteral("sieveeditor")); wallet->setFolder(QStringLiteral("sieveeditor")); } Q_FOREACH (const QString &conf, groups) { SieveServerConfig sieve; KConfigGroup group = cfg->group(conf); sieve.port = group.readEntry(QStringLiteral("Port"), 0); sieve.serverName = group.readEntry(QStringLiteral("ServerName")); sieve.userName = group.readEntry(QStringLiteral("UserName")); sieve.enabled = group.readEntry(QStringLiteral("Enabled"), true); const QString walletEntry = sieve.userName + QLatin1Char('@') + sieve.serverName; if (wallet && wallet->hasEntry(walletEntry)) { wallet->readPassword(walletEntry, sieve.password); } sieve.authenticationType = static_cast<MailTransport::Transport::EnumAuthenticationType::type>(group.readEntry(QStringLiteral("Authentication"), static_cast<int>(MailTransport::Transport::EnumAuthenticationType::PLAIN))); lstConfig.append(sieve); }
void EncryptedStore::savePasswordInKWallet() { Q_D(KOdfStore); KWallet::Wallet *wallet = KWallet::Wallet::openWallet(KWallet::Wallet::LocalWallet(), d->window ? d->window->winId() : 0); if (wallet) { if (!wallet->hasFolder(KWallet::Wallet::PasswordFolder())) { wallet->createFolder(KWallet::Wallet::PasswordFolder()); } if (wallet->setFolder(KWallet::Wallet::PasswordFolder())) { if (wallet->hasEntry(m_filename + "/opendocument")) { wallet->removeEntry(m_filename + "/opendocument"); } wallet->writePassword(m_filename + "/opendocument", m_password.toByteArray().data()); } delete wallet; } }