minor api cleanup for requesting messages from backlog
[quassel.git] / src / client / clientsettings.cpp
index 1c3c5cf..9a05459 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
+#include <QStringList>
+
 #include "client.h"
 #include "clientsettings.h"
-#include "global.h"
+#include "quassel.h"
 
-#include <QStringList>
-
-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<AccountId> CoreAccountSettings::knownAccounts() {
   QList<AccountId> ids;
   foreach(QString key, localChildGroups()) {
-    ids << key.toInt();
+    AccountId acc = key.toInt();
+    if(acc.isValid()) ids << acc;
   }
   return ids;
 }
@@ -111,17 +118,25 @@ NotificationSettings::NotificationSettings() : ClientSettings("Notification") {
 }
 
 void NotificationSettings::setHighlightList(const QVariantList &highlightList) {
-  setLocalValue("highlightList", highlightList);
+  setLocalValue("Highlights/CustomList", highlightList);
 }
 
 QVariantList NotificationSettings::highlightList() {
-  return localValue("highlightList").toList();
+  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::setHighlightCurrentNick(const bool &highlightCurrentNick) {
-  setLocalValue("highlightCurrentNick", highlightCurrentNick);
+void NotificationSettings::setNicksCaseSensitive(bool cs) {
+  setLocalValue("Highlights/NicksCaseSensitive", cs);
 }
 
-bool NotificationSettings::highlightCurrentNick() {
-  return localValue("highlightCurrentNick", true).toBool();
+bool NotificationSettings::nicksCaseSensitive() {
+  return localValue("Highlights/NicksCaseSensitive", false).toBool();
 }