+}
+
+/***********************************************************************************************/
+
+CoreAccountSettings::CoreAccountSettings(const QString &subgroup)
+ : ClientSettings("CoreAccounts"),
+ _subgroup(subgroup)
+{
+}
+
+void CoreAccountSettings::notify(const QString &key, QObject *receiver, const char *slot) {
+ ClientSettings::notify(QString("%1/%2/%3").arg(Client::currentCoreAccount().toInt()).arg(_subgroup).arg(key), receiver, slot);
+}
+
+QList<AccountId> CoreAccountSettings::knownAccounts() {
+ QList<AccountId> ids;
+ foreach(QString key, localChildGroups()) {
+ AccountId acc = key.toInt();
+ if(acc.isValid()) ids << acc;
+ }
+ return ids;
+}
+
+AccountId CoreAccountSettings::lastAccount() {
+ return localValue("LastAccount", 0).toInt();
+}
+
+void CoreAccountSettings::setLastAccount(AccountId account) {
+ setLocalValue("LastAccount", account.toInt());
+}
+
+AccountId CoreAccountSettings::autoConnectAccount() {
+ return localValue("AutoConnectAccount", 0).toInt();
+}
+
+void CoreAccountSettings::setAutoConnectAccount(AccountId account) {
+ setLocalValue("AutoConnectAccount", account.toInt());
+}
+
+void CoreAccountSettings::storeAccountData(AccountId id, const QVariantMap &data) {
+ setLocalValue(QString("%1/Connection").arg(id.toInt()), data);
+}
+
+QVariantMap CoreAccountSettings::retrieveAccountData(AccountId id) {
+ return localValue(QString("%1/Connection").arg(id.toInt()), QVariant()).toMap();
+}