* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <QStringList>
+
#include "client.h"
#include "clientsettings.h"
-#include "global.h"
-
-#include <QStringList>
+#include "quassel.h"
-ClientSettings::ClientSettings(QString g) : Settings(g, Global::clientApplicationName) {
+ClientSettings::ClientSettings(QString g) : Settings(g, Quassel::buildInfo().clientApplicationName) {
}
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<AccountId> CoreAccountSettings::knownAccounts() {
QList<AccountId> ids;
foreach(QString key, localChildGroups()) {
- ids << key.toInt();
+ AccountId acc = key.toInt();
+ if(acc.isValid()) ids << acc;
}
return ids;
}
}
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();
+}