# # # patch "src/util/Settings.cpp" # from [e9d0102390177c32467ec17f11562f5a6c890396] # to [5c48b1c403e955ba1107058f8160440e612132ed] # # patch "src/util/Settings.h" # from [43df1d196eaaa6be7496e3c1611ba5d4a8e7cc16] # to [db2003cc3ae29f97afdc46c500c5b4583f2e76e4] # ============================================================ --- src/util/Settings.cpp e9d0102390177c32467ec17f11562f5a6c890396 +++ src/util/Settings.cpp 5c48b1c403e955ba1107058f8160440e612132ed @@ -173,8 +173,7 @@ void Settings::setItemList(const QString void Settings::setItemList(const QString & name, const QStringList & items) { I(!name.isEmpty()); - Settings *settings = singleton(); - settings->setValue(name, items); + singleton()->setValue(name, items); } QStringList Settings::getItemList(const QString & name) @@ -213,3 +212,37 @@ void Settings::removeItemFromList(const setItemList(name, list); } +void Settings::setItemMap(const QString & name, const QMap & items) +{ + I(!name.isEmpty()); + singleton()->setValue(name, items); +} + +QMap Settings::getItemMap(const QString & name) +{ + I(!name.isEmpty()); + return singleton()->value(name).toMap(); +} + +QVariant Settings::getItemFromMap(const QString & name, const QString & key) +{ + QMap map = getItemMap(name); + if (map.contains(key)) + return map.value(key); + return QVariant(); +} + +void Settings::addItemToMap(const QString & name, const QString & key, const QVariant & value) +{ + QMap map = getItemMap(name); + map.insert(key, value); + setItemMap(name, map); +} + +void Settings::removeItemFromMap(const QString & name, const QString & key) +{ + QMap map = getItemMap(name); + map.remove(key); + setItemMap(name, map); +} + ============================================================ --- src/util/Settings.h 43df1d196eaaa6be7496e3c1611ba5d4a8e7cc16 +++ src/util/Settings.h db2003cc3ae29f97afdc46c500c5b4583f2e76e4 @@ -41,6 +41,12 @@ public: static void addItemToList(const QString &, const QString &, int); static void removeItemFromList(const QString &, const QString &); + static QMap getItemMap(const QString &); + static void setItemMap(const QString &, const QMap &); + static void addItemToMap(const QString &, const QString &, const QVariant &); + static void removeItemFromMap(const QString &, const QString &); + static QVariant getItemFromMap(const QString &, const QString &); + static QString getMtnBinaryPath(); static void setMtnBinaryPath(const QString &);