]> Some of my projects - localmylist.git/commitdiff
Add availableSettings method.
authorAPTX <marek321@gmail.com>
Thu, 6 Jun 2013 14:52:29 +0000 (16:52 +0200)
committerAPTX <marek321@gmail.com>
Thu, 6 Jun 2013 14:52:29 +0000 (16:52 +0200)
localmylist/settings.cpp
localmylist/settings.h

index 84501aff56faa485a8ed2ae6fc3cee6d8d215954..719a18953f55b23f3f0df93a8d8628d156a4321e 100644 (file)
@@ -54,8 +54,21 @@ void Settings::set(const QString &key, const QVariant &value)
        stagedSettings[key] = value;
 }
 
+QStringList Settings::availableSettings() const
+{
+       if (settings.isEmpty())
+               readSettings();
+
+       return settings.keys();
+}
+
 void Settings::commit()
 {
+       if (stagedSettings.isEmpty())
+               return;
+
+       qDebug() << "Setting" << stagedSettings.count() << "changed settings";
+
        db->transaction();
        for (auto i = stagedSettings.constBegin(); i != stagedSettings.constEnd(); ++i)
        {
@@ -64,6 +77,7 @@ void Settings::commit()
        }
        db->commit();
        stagedSettings.clear();
+
        emit settingsChanged();
 }
 
index b1017ece9c024d91b32f42fa7502d0a0f423a420..8ae75e94193c5ebbe67d8e89c1db0ae27e886c21 100644 (file)
@@ -4,6 +4,7 @@
 #include "localmylist_global.h"
 #include <QObject>
 #include <QVariant>
+#include <QStringList>
 
 namespace LocalMyList {
 
@@ -34,6 +35,8 @@ public slots:
        QVariant get(const QString &key) const;
        void set(const QString &key, const QVariant &value);
 
+       QStringList availableSettings() const;
+
        void commit();
        void rollback();