QMap<QString, PluginInfo> SettingsPrivate::plugins() const { QMap<QString, QVariant> list = value("plugins").toMap(); QMapIterator<QString, QVariant> it(list); QMap<QString, PluginInfo> registeredPlugins; while (it.hasNext()) { it.next(); PluginInfo pluginInfo = it.value().value<PluginInfo>(); if (QFileInfo::exists(pluginInfo.absFilePath())) { registeredPlugins.insert(pluginInfo.absFilePath(), std::move(pluginInfo)); } } return registeredPlugins; }
/** Add an activated plugin to the application. */ void SettingsPrivate::addPlugin(const PluginInfo &plugin) { QMap<QString, QVariant> map = value("plugins").toMap(); map.insert(plugin.absFilePath(), QVariant::fromValue(plugin)); this->setValue("plugins", map); }