}
-QStringList ClientSettings::sessionKeys() {
- return Client::sessionDataKeys();
-}
+/***********************************************************************************************/
-void ClientSettings::setSessionValue(const QString &key, const QVariant &data) {
- Client::storeSessionData(key, data);
-}
+CoreAccountSettings::CoreAccountSettings(const QString &subgroup) : ClientSettings("CoreAccounts") {
+ _subgroup = subgroup;
-QVariant ClientSettings::sessionValue(const QString &key, const QVariant &def) {
- return Client::retrieveSessionData(key, def);
}
-/***********************************************************************************************/
-
-AccountSettings::AccountSettings() : ClientSettings("Accounts") {
-
+QList<AccountId> CoreAccountSettings::knownAccounts() {
+ QList<AccountId> ids;
+ foreach(QString key, localChildGroups()) {
+ ids << key.toInt();
+ }
+ return ids;
+}
+AccountId CoreAccountSettings::lastAccount() {
+ return localValue("LastAccount", 0).toInt();
}
-QStringList AccountSettings::knownAccounts() {
- return localChildGroups();
+void CoreAccountSettings::setLastAccount(AccountId account) {
+ setLocalValue("LastAccount", account.toInt());
}
-QString AccountSettings::lastAccount() {
- return localValue("LastAccount", "").toString();
+AccountId CoreAccountSettings::autoConnectAccount() {
+ return localValue("AutoConnectAccount", 0).toInt();
}
-void AccountSettings::setLastAccount(const QString &account) {
- setLocalValue("LastAccount", account);
+void CoreAccountSettings::setAutoConnectAccount(AccountId account) {
+ setLocalValue("AutoConnectAccount", account.toInt());
}
-QString AccountSettings::autoConnectAccount() {
- return localValue("AutoConnectAccount", "").toString();
+void CoreAccountSettings::storeAccountData(AccountId id, const QVariantMap &data) {
+ setLocalValue(QString("%1/Connection").arg(id.toInt()), data);
}
-void AccountSettings::setAutoConnectAccount(const QString &account) {
- setLocalValue("AutoConnectAccount", account);
+QVariantMap CoreAccountSettings::retrieveAccountData(AccountId id) {
+ return localValue(QString("%1/Connection").arg(id.toInt()), QVariant()).toMap();
}
-void AccountSettings::setValue(const QString &account, const QString &key, const QVariant &data) {
- setLocalValue(QString("%1/%2").arg(account).arg(key), data);
+void CoreAccountSettings::setAccountValue(const QString &key, const QVariant &value) {
+ if(!Client::currentCoreAccount().isValid()) return;
+ setLocalValue(QString("%1/%2/%3").arg(Client::currentCoreAccount().toInt()).arg(_subgroup).arg(key), value);
}
-QVariant AccountSettings::value(const QString &account, const QString &key, const QVariant &def) {
- return localValue(QString("%1/%2").arg(account).arg(key), def);
+QVariant CoreAccountSettings::accountValue(const QString &key, const QVariant &def) {
+ if(!Client::currentCoreAccount().isValid()) return QVariant();
+ return localValue(QString("%1/%2/%3").arg(Client::currentCoreAccount().toInt()).arg(_subgroup).arg(key), def);
}
-void AccountSettings::removeAccount(const QString &account) {
- removeLocalKey(account);
+void CoreAccountSettings::removeAccount(AccountId id) {
+ removeLocalKey(QString("%1").arg(id.toInt()));
}