X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoreusersettings.cpp;h=e9d4e2087db32510a70aa9488915bc83a140900b;hp=49a98374b8cffcd78ec806fb42e21be04e2d1043;hb=aa40491595ffec54ba340a9850d99dc14d920eb3;hpb=1607bfc3101e08fe0aeeaa3b50af6ddc9a4f9e3c diff --git a/src/core/coreusersettings.cpp b/src/core/coreusersettings.cpp index 49a98374..e9d4e208 100644 --- a/src/core/coreusersettings.cpp +++ b/src/core/coreusersettings.cpp @@ -20,13 +20,68 @@ #include "coreusersettings.h" -CoreUserSettings::CoreUserSettings(UserId uid) : CoreSettings(QString("CoreUser/%1").arg(uid)), user(uid) { +CoreUserSettings::CoreUserSettings(UserId uid) : CoreSettings(QString("CoreUser/%1").arg(uid.toInt())), user(uid) { } +Identity CoreUserSettings::identity(IdentityId id) { + QVariant v = localValue(QString("Identities/%1").arg(id.toInt())); + if(qVariantCanConvert(v)) { + return v.value(); + } + return Identity(); +} + +QList CoreUserSettings::identityIds() { + QList res; + foreach(QString id, localChildKeys("Identities")) { + res << id.toInt(); + } + return res; +} + +void CoreUserSettings::storeIdentity(const Identity &identity) { + setLocalValue(QString("Identities/%1").arg(identity.id().toInt()), qVariantFromValue(identity)); +} + +void CoreUserSettings::removeIdentity(IdentityId id) { + removeLocalKey(QString("Identities/%1").arg(id.toInt())); +} + + +NetworkInfo CoreUserSettings::networkInfo(NetworkId id) { + QVariant v = localValue(QString("Networks/%1").arg(id.toInt())); + if(v.canConvert()) { + return v.value(); + } + return NetworkInfo(); +} + +QList CoreUserSettings::networkIds() { + QList res; + foreach(QString id, localChildKeys("Networks")) { + res << id.toInt(); + } + return res; +} +void CoreUserSettings::storeNetworkInfo(const NetworkInfo &info) { + setLocalValue(QString("Networks/%1").arg(info.networkId.toInt()), QVariant::fromValue(info)); +} + +void CoreUserSettings::removeNetworkInfo(NetworkId id) { + removeLocalKey(QString("Networks/%1").arg(id.toInt())); +} +// FIXME remove as soon as the network data migration is gone +void CoreUserSettings::setSessionState(const QVariant &data) { + setLocalValue("SessionState", data); +} + +QVariant CoreUserSettings::sessionState(const QVariant &def) { + return localValue("SessionState", def); +} QVariantMap CoreUserSettings::sessionData() { QVariantMap res;