| 717 | } |
| 718 | |
| 719 | IPlugin *PluginController::pluginForExtension(const QString &extension, const QString &pluginName, const QVariantMap& constraints) |
| 720 | { |
| 721 | Q_D(PluginController); |
| 722 | |
| 723 | IPlugin* plugin = nullptr; |
| 724 | d->foreachEnabledPlugin([this, &plugin] (const KPluginMetaData& info) -> bool { |
| 725 | Q_D(PluginController); |
| 726 | |
| 727 | plugin = d->loadedPlugins.value( info ); |
| 728 | if( !plugin ) { |
| 729 | plugin = loadPluginInternal( info.pluginId() ); |
| 730 | } |
| 731 | return !plugin; |
| 732 | }, extension, constraints, pluginName); |
| 733 | |
| 734 | return plugin; |
| 735 | } |
| 736 | |
| 737 | QList<IPlugin*> PluginController::allPluginsForExtension(const QString &extension, const QVariantMap& constraints) |
| 738 | { |