/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#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<Identity>(v)) {
+ return v.value<Identity>();
+ }
+ return Identity();
+}
+
+QList<IdentityId> CoreUserSettings::identityIds() {
+ QList<IdentityId> 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()));
+}
+void CoreUserSettings::setSessionState(const QVariant &data) {
+ setLocalValue("SessionState", data);
+}
+
+QVariant CoreUserSettings::sessionState(const QVariant &def) {
+ return localValue("SessionState", def);
+}
QVariantMap CoreUserSettings::sessionData() {
QVariantMap res;