Changed Setting interface to concret class
authorMateusz Półrola <mateusz.polrola@comarch.pl>
Thu, 5 Aug 2010 11:02:41 +0000 (13:02 +0200)
committerMateusz Półrola <mateusz.polrola@comarch.pl>
Thu, 5 Aug 2010 11:02:41 +0000 (13:02 +0200)
trunk/src/includes/settings.h

index d07d920..6a05410 100644 (file)
@@ -25,6 +25,7 @@
 #define SETTINGS_H
 
 #include <QString>
+#include <QHash>
 #include "CommonDictInterface.h"
 
 class CommonDictInterface;
@@ -32,18 +33,21 @@ class CommonDictInterface;
 //! Plugin specific configuration
 class Settings {
   public:
+    Settings(){}
     //! \retrun value fo given key
     //! \param key
-    virtual QString value(const QString key) const = 0;
+    QString value(const QString key) const {
+        if(!settings.contains(key)) return QString;
+        return settings[key];
+    }
 
     //! sets key to value
-    virtual void setValue(const QString key, const QString value) = 0;
+    void setValue(const QString key, const QString value) {
+        settings.insert(key, value);
+    }
 
-    //! \return dict CommonDictInterface
-    virtual CommonDictInterface* type() const = 0;
-
-    //! sets settings type to given dictionary
-    virtual void setType(const CommonDictInterface*) = 0;
+private:
+    QHash<QString, QString> settings;
 };
 
 #endif // SETTINGS_H