45template <
typename T> std::map<std::string, T>
getSettingsAsMap(std::string
const &settingGroup) {
46 std::map<std::string, T> settingsMap;
48 settings.beginGroup(QString::fromStdString(settingGroup));
49 QStringList settingNames = settings.allKeys();
50 std::string templateTypeName =
typeid(T).
name();
51 for (
auto &settingName : settingNames) {
52 if (settingName.endsWith(
"/type")) {
53 std::string settingTypeName = settings.value(settingName).toString().toStdString();
54 if (settingTypeName == templateTypeName) {
55 auto settingValueName = settingName.replace(QString(
"/type"), QString(
"/value"));
56 auto setting = settings.value(settingValueName);
57 auto strippedSettingName = settingName.remove(QString(
"/value"));
58 settingsMap[strippedSettingName.toStdString()] = setting.value<T>();