X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.cpp;h=3a1dbd88116a896699149fbae00f9c4e30e2c549;hp=2bf6412b2c9de7593de1f0aaa666a0c17a9a27e9;hb=fc81975a545211f3ccd3d25e266477adad2c9445;hpb=1177f164f518b8f47b64f6736d176a995d5c17ed diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index 2bf6412b..3a1dbd88 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -39,7 +39,8 @@ CoreAccountSettings::CoreAccountSettings(const QString &subgroup) : ClientSettin QList CoreAccountSettings::knownAccounts() { QList ids; foreach(QString key, localChildGroups()) { - ids << key.toInt(); + AccountId acc = key.toInt(); + if(acc.isValid()) ids << acc; } return ids; } @@ -78,21 +79,50 @@ QVariant CoreAccountSettings::accountValue(const QString &key, const QVariant &d return localValue(QString("%1/%2/%3").arg(Client::currentCoreAccount().toInt()).arg(_subgroup).arg(key), def); } +void CoreAccountSettings::setJumpKeyMap(const QHash &keyMap) { + QVariantMap variants; + QHash::const_iterator mapIter = keyMap.constBegin(); + while(mapIter != keyMap.constEnd()) { + variants[QString::number(mapIter.key())] = qVariantFromValue(mapIter.value()); + mapIter++; + } + setLocalValue("JumpKeyMap", variants); +} + +QHash CoreAccountSettings::jumpKeyMap() { + QHash keyMap; + QVariantMap variants = localValue("JumpKeyMap", QVariant()).toMap(); + QVariantMap::const_iterator mapIter = variants.constBegin(); + while(mapIter != variants.constEnd()) { + keyMap[mapIter.key().toInt()] = mapIter.value().value(); + mapIter++; + } + return keyMap; +} + void CoreAccountSettings::removeAccount(AccountId id) { removeLocalKey(QString("%1").arg(id.toInt())); } + /***********************************************************************************************/ +// NotificationSettings: + +NotificationSettings::NotificationSettings() : ClientSettings("Notification") { +} + +void NotificationSettings::setHighlightList(const QVariantList &highlightList) { + setLocalValue("highlightList", highlightList); +} -BufferSettings::BufferSettings(BufferId bufferId) - : CoreAccountSettings(QString("Buffers/%1").arg(bufferId.toInt())) -{ +QVariantList NotificationSettings::highlightList() { + return localValue("highlightList").toList(); } -void BufferSettings::setLastSeen(QDateTime seenDate) { - setAccountValue("LastSeen", seenDate); +void NotificationSettings::setHighlightNick(NotificationSettings::HighlightNickType highlightNickType) { + setLocalValue("highlightNick", highlightNickType); } -QDateTime BufferSettings::lastSeen() { - return accountValue("LastSeen", QDateTime()).value(); +NotificationSettings::HighlightNickType NotificationSettings::highlightNick() { + return (NotificationSettings::HighlightNickType) localValue("highlightNick", CurrentNick).toInt(); }