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 applyColorScheme(const QString &colorScheme, KConfig *other) { QString src = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "color-schemes/" + colorScheme + ".colors"); KSharedConfigPtr config = KSharedConfig::openConfig(src); foreach (const QString &grp, config->groupList()) { KConfigGroup cg(config, grp); KConfigGroup cg2(other, grp); cg.copyTo(&cg2); } }
void KCMLookandFeel::setColors(const QString &scheme, const QString &colorFile) { if (scheme.isEmpty() && colorFile.isEmpty()) { return; } KConfigGroup configGroup(&m_config, "General"); configGroup.writeEntry("ColorScheme", scheme); configGroup.sync(); KSharedConfigPtr conf = KSharedConfig::openConfig(colorFile); foreach (const QString &grp, conf->groupList()) { KConfigGroup cg(conf, grp); KConfigGroup cg2(&m_config, grp); cg.copyTo(&cg2); } }
// static std::vector< std::shared_ptr<ArchiveDefinition> > ArchiveDefinition::getArchiveDefinitions(QStringList &errors) { std::vector< std::shared_ptr<ArchiveDefinition> > result; KSharedConfigPtr config = KSharedConfig::openConfig(QStringLiteral("libkleopatrarc")); const QStringList groups = config->groupList().filter(QRegularExpression(QStringLiteral("^Archive Definition #"))); result.reserve(groups.size()); for (const QString &group : groups) try { const std::shared_ptr<ArchiveDefinition> ad(new KConfigBasedArchiveDefinition(KConfigGroup(config, group))); result.push_back(ad); } catch (const std::exception &e) { qCDebug(KLEOPATRA_LOG) << e.what(); errors.push_back(QString::fromLocal8Bit(e.what())); } catch (...) { errors.push_back(i18n("Caught unknown exception in group %1", group)); } return result; }