OK Folks, my first commit after quite a while, and while Quassel looks the same as...
[quassel.git] / src / common / settings.cpp
index 77144c7..4f06185 100644 (file)
  ***************************************************************************/
 
 #include <QSettings>
+#include <QStringList>
+#include <QDebug>
 
 #include "settings.h"
 
-Settings *settings;
+Settings::Settings(QString g) : QObject(), group(g) {
+
 
-void Settings::init() {
-  curProfile = QObject::tr("Default");
 }
-/*
+
 Settings::~Settings() {
-  qDebug() << "destructing";
 
 }
-*/
 
-void Settings::setProfile(const QString &profile) {
-  curProfile = profile;
+void Settings::setGroup(QString g) {
+  group = g;
+
+}
+
+QStringList Settings::allLocalKeys() {
+  QSettings s;
+  s.beginGroup(group);
+  return s.allKeys();
+}
+
+QStringList Settings::localChildKeys() {
+  QSettings s;
+  s.beginGroup(group);
+  return s.childKeys();
 }
 
-void Settings::setGuiValue(const QString &key, const QVariant &value) {
+QStringList Settings::localChildGroups() {
   QSettings s;
-  //s.setValue("GUI/Default/BufferStates/QuakeNet/#quassel/voicedExpanded", true);
-  //QString k = QString("GUI/%1/%2").arg(curProfile).arg(key);
-  s.setValue(QString("GUI/%1/%2").arg(curProfile).arg(key), value);
+  s.beginGroup(group);
+  return s.childGroups();
 }
 
-QVariant Settings::guiValue(const QString &key, const QVariant &defaultValue) {
+void Settings::setLocalValue(const QString &key, const QVariant &data) {
   QSettings s;
-  return s.value(QString("GUI/%1/%2").arg(curProfile).arg(key), defaultValue);
+  s.beginGroup(group);
+  s.setValue(key, data);
 }
 
-void Settings::setCoreValue(const QString &user, const QString &key, const QVariant &value) {
+QVariant Settings::localValue(const QString &key, const QVariant &def) {
   QSettings s;
-  s.setValue(QString("Core/%1/%2").arg(user).arg(key), value);
+  s.beginGroup(group);
+  return s.value(key, def);
 }
 
-QVariant Settings::coreValue(const QString &user, const QString &key, const QVariant &defaultValue) {
+void Settings::removeLocalKey(const QString &key) {
   QSettings s;
-  return s.value(QString("Core/%1/%2").arg(user).arg(key), defaultValue);
+  s.beginGroup(group);
+  s.remove(key);
 }
 
-QString Settings::curProfile;