X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoreusersettings.cpp;h=e0f4e9e7620a930cabf2ccd09d47a7f08063e8f9;hp=49a98374b8cffcd78ec806fb42e21be04e2d1043;hb=900cce213a6ed000b7131a05a0dec7d04b35b023;hpb=1607bfc3101e08fe0aeeaa3b50af6ddc9a4f9e3c diff --git a/src/core/coreusersettings.cpp b/src/core/coreusersettings.cpp index 49a98374..e0f4e9e7 100644 --- a/src/core/coreusersettings.cpp +++ b/src/core/coreusersettings.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,32 +15,77 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #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 (v.canConvert()) { + 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)); +} -QVariantMap CoreUserSettings::sessionData() { - QVariantMap res; - foreach(QString key, localChildKeys(QString("SessionData"))) { - res[key] = localValue(QString("SessionData/%1").arg(key)); - } - return res; +void CoreUserSettings::removeIdentity(IdentityId id) +{ + removeLocalKey(QString("Identities/%1").arg(id.toInt())); } -void CoreUserSettings::setSessionValue(const QString &key, const QVariant &data) { - setLocalValue(QString("SessionData/%1").arg(key), data); + +void CoreUserSettings::setSessionState(const QVariant &data) +{ + setLocalValue("SessionState", data); } -QVariant CoreUserSettings::sessionValue(const QString &key, const QVariant &def) { - return localValue(QString("SessionData/%1").arg(key), def); + +QVariant CoreUserSettings::sessionState(const QVariant &def) +{ + return localValue("SessionState", def); } + +QVariantMap CoreUserSettings::sessionData() +{ + QVariantMap res; + foreach(QString key, localChildKeys(QString("SessionData"))) { + res[key] = localValue(QString("SessionData/%1").arg(key)); + } + return res; +} + + +void CoreUserSettings::setSessionValue(const QString &key, const QVariant &data) +{ + setLocalValue(QString("SessionData/%1").arg(key), data); +} + + +QVariant CoreUserSettings::sessionValue(const QString &key, const QVariant &def) +{ + return localValue(QString("SessionData/%1").arg(key), def); +}