+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()));
+}
+
+
+NetworkInfo CoreUserSettings::networkInfo(NetworkId id) {
+ QVariant v = localValue(QString("Networks/%1").arg(id.toInt()));
+ if(v.canConvert<NetworkInfo>()) {
+ return v.value<NetworkInfo>();
+ }
+ return NetworkInfo();
+}
+
+QList<NetworkId> CoreUserSettings::networkIds() {
+ QList<NetworkId> res;
+ foreach(QString id, localChildKeys("Networks")) {
+ res << id.toInt();
+ }
+ return res;
+}