explicit Settings(Database *db = 0, QObject *parent = 0);
Database *database() const;
void setDatabase(Database *db);
-
- template<typename T> void get(const QString &key, T& value) const { value = get(key).value<T>();}
+
+ template<typename T> T get(const QString &key, const T &defaultValue) const
+ {
+ QVariant value = get(key);
+
+ if (!value.isValid() || !value.canConvert<T>())
+ return defaultValue;
+
+ return value.value<T>();
+ }
signals:
void settingsChanged();
void commit();
void rollback();
-
+
void settingsChangedInDatabase();
private: