| 55 | } |
| 56 | |
| 57 | std::shared_ptr<Setting> SettingsObject::registerSetting(QStringList synonyms, QVariant defVal) |
| 58 | { |
| 59 | if (synonyms.empty()) |
| 60 | return nullptr; |
| 61 | if (contains(synonyms.first())) { |
| 62 | qCritical() << QString("Failed to register setting %1. ID already exists.").arg(synonyms.first()); |
| 63 | return nullptr; // Fail |
| 64 | } |
| 65 | auto setting = std::make_shared<Setting>(synonyms, defVal); |
| 66 | setting->m_storage = this; |
| 67 | connectSignals(*setting); |
| 68 | m_settings.insert(setting->id(), setting); |
| 69 | return setting; |
| 70 | } |
| 71 | |
| 72 | std::shared_ptr<Setting> SettingsObject::getSetting(const QString& id) const |
| 73 | { |
no test coverage detected