X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.cpp;h=9a054594008b5d9e9d2bf30d3320b34c33af8b8e;hp=f35420d0b61d717544ce8bffc4e2ccc32f737f24;hb=26b9300ccab24e526a9f43bef95a2a70f59161df;hpb=620882e248fafe97a736e545d8e3eb72569a078b diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index f35420d0..9a054594 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -18,13 +18,13 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include + #include "client.h" #include "clientsettings.h" -#include "global.h" - -#include +#include "quassel.h" -ClientSettings::ClientSettings(QString g) : Settings(g, Global::clientApplicationName) { +ClientSettings::ClientSettings(QString g) : Settings(g, Quassel::buildInfo().clientApplicationName) { } ClientSettings::~ClientSettings() { @@ -32,14 +32,21 @@ ClientSettings::~ClientSettings() { /***********************************************************************************************/ -CoreAccountSettings::CoreAccountSettings(const QString &subgroup) : ClientSettings("CoreAccounts") { - _subgroup = subgroup; +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 CoreAccountSettings::knownAccounts() { QList ids; foreach(QString key, localChildGroups()) { - ids << key.toInt(); + AccountId acc = key.toInt(); + if(acc.isValid()) ids << acc; } return ids; } @@ -98,10 +105,38 @@ QHash CoreAccountSettings::jumpKeyMap() { } 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(); +}