From: APTX Date: Thu, 6 Jun 2013 14:52:29 +0000 (+0200) Subject: Add availableSettings method. X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;h=de611e689740d27e5b5afc4a8ee585fc76aaf1ee;p=localmylist.git Add availableSettings method. --- diff --git a/localmylist/settings.cpp b/localmylist/settings.cpp index 84501af..719a189 100644 --- a/localmylist/settings.cpp +++ b/localmylist/settings.cpp @@ -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(); } diff --git a/localmylist/settings.h b/localmylist/settings.h index b1017ec..8ae75e9 100644 --- a/localmylist/settings.h +++ b/localmylist/settings.h @@ -4,6 +4,7 @@ #include "localmylist_global.h" #include #include +#include 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();