Save mainwindow state without segfaulting occasionally...
[quassel.git] / src / common / settings.h
index fcf9cd5..9ad960d 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -30,25 +30,23 @@ class Settings : private QSettings {
   public:
     virtual ~Settings();
 
-    static void setGuiValue(QString, QVariant) {};
-    static QVariant guiValue(QString, QVariant = QVariant()) { return QVariant(); }
+    //static void setGuiValue(QString, QVariant) {};
+    //static QVariant guiValue(QString, QVariant = QVariant()) { return QVariant(); }
+
+    enum Mode { Default, Custom };
+
   protected:
-    Settings(QString group = "General");
+    Settings(QString group, QString applicationName);
 
     void setGroup(QString group);
 
     virtual QStringList allLocalKeys();
-    virtual QStringList localChildKeys();
-    virtual QStringList localChildGroups();
-    //virtual QStringList allSessionKeys() = 0;
-    virtual QStringList sessionKeys() = 0;
+    virtual QStringList localChildKeys(const QString &rootkey = QString());
+    virtual QStringList localChildGroups(const QString &rootkey = QString());
 
     virtual void setLocalValue(const QString &key, const QVariant &data);
     virtual QVariant localValue(const QString &key, const QVariant &def = QVariant());
 
-    virtual void setSessionValue(const QString &key, const QVariant &data) = 0;
-    virtual QVariant sessionValue(const QString &key, const QVariant &def = QVariant()) = 0;
-
     virtual void removeLocalKey(const QString &key);
 
     QString group;