X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.cpp;h=841035097dc1e30518160a00609aa9dba45e0cf7;hp=9cb4581242cd6d981e6bc77eb2b0e31bee1a019a;hb=d1b6499b0b848d4287efae89107576548533502c;hpb=f37791b92e3bf6e78b93036c0669926eeba3347b diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index 9cb45812..84103509 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -48,41 +48,56 @@ QVariant ClientSettings::sessionValue(const QString &key, const QVariant &def) { /***********************************************************************************************/ -AccountSettings::AccountSettings() : ClientSettings("Accounts") { +CoreAccountSettings::CoreAccountSettings() : ClientSettings("CoreAccounts") { } -QStringList AccountSettings::knownAccounts() { - return localChildGroups(); +QStringList CoreAccountSettings::knownAccounts() { + return localChildKeys("Accounts"); } -QString AccountSettings::lastAccount() { +QString CoreAccountSettings::lastAccount() { return localValue("LastAccount", "").toString(); } -void AccountSettings::setLastAccount(const QString &account) { +void CoreAccountSettings::setLastAccount(const QString &account) { setLocalValue("LastAccount", account); } -QString AccountSettings::autoConnectAccount() { +QString CoreAccountSettings::autoConnectAccount() { return localValue("AutoConnectAccount", "").toString(); } -void AccountSettings::setAutoConnectAccount(const QString &account) { +void CoreAccountSettings::setAutoConnectAccount(const QString &account) { setLocalValue("AutoConnectAccount", account); } -void AccountSettings::setValue(const QString &account, const QString &key, const QVariant &data) { - setLocalValue(QString("%1/%2").arg(account).arg(key), data); +void CoreAccountSettings::storeAccount(const QString name, const QVariantMap &data) { + setLocalValue(QString("Accounts/%2").arg(name), data); } -QVariant AccountSettings::value(const QString &account, const QString &key, const QVariant &def) { - return localValue(QString("%1/%2").arg(account).arg(key), def); +QVariantMap CoreAccountSettings::retrieveAccount(const QString &name) { + return localValue(QString("Accounts/%2").arg(name), QVariant()).toMap(); } -void AccountSettings::removeAccount(const QString &account) { - removeLocalKey(account); +void CoreAccountSettings::storeAllAccounts(const QHash accounts) { + removeLocalKey(QString("Accounts")); + foreach(QString name, accounts.keys()) { + storeAccount(name, accounts[name]); + } +} + +QHash CoreAccountSettings::retrieveAllAccounts() { + QHash accounts; + foreach(QString name, knownAccounts()) { + accounts[name] = retrieveAccount(name); + } + return accounts; +} + +void CoreAccountSettings::removeAccount(const QString &account) { + removeLocalKey(QString("Accounts/%1").arg(account)); }