X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.cpp;h=02a8c9cbcf7eefa607e2ae6bb1c6cc27daac4dda;hp=87ad816633e1f17ed0746d248cd23cda6dacb810;hb=01ed2953cbad3f2de3df262dc1601e82d903b4a8;hpb=ee6e4f90ce63d7eb3a54937cffb33510398d2349 diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index 87ad8166..02a8c9cb 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -18,33 +18,29 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include "client.h" -#include "clientsettings.h" -#include "global.h" - #include -ClientSettings::ClientSettings(QString g) : Settings(g, Global::clientApplicationName) { - +#include "client.h" +#include "clientsettings.h" +#include "quassel.h" +ClientSettings::ClientSettings(QString g) : Settings(g, Quassel::buildInfo().clientApplicationName) { } ClientSettings::~ClientSettings() { - - } /***********************************************************************************************/ CoreAccountSettings::CoreAccountSettings(const QString &subgroup) : ClientSettings("CoreAccounts") { _subgroup = subgroup; - } QList CoreAccountSettings::knownAccounts() { QList ids; foreach(QString key, localChildGroups()) { - ids << key.toInt(); + AccountId acc = key.toInt(); + if(acc.isValid()) ids << acc; } return ids; } @@ -83,8 +79,58 @@ 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("Highlights/CustomList", highlightList); +} + +QVariantList NotificationSettings::highlightList() { + return localValue("Highlights/CustomList").toList(); +} + +void NotificationSettings::setHighlightNick(NotificationSettings::HighlightNickType highlightNickType) { + setLocalValue("Highlights/HighlightNick", highlightNickType); +} + +NotificationSettings::HighlightNickType NotificationSettings::highlightNick() { + return (NotificationSettings::HighlightNickType) localValue("Highlights/HighlightNick", CurrentNick).toInt(); +} + +void NotificationSettings::setNicksCaseSensitive(bool cs) { + setLocalValue("Highlights/NicksCaseSensitive", cs); +} + +bool NotificationSettings::nicksCaseSensitive() { + return localValue("Highlights/NicksCaseSensitive", false).toBool(); +}