23 #include "engineplugincombobox.h"
25 #include "plugins/engineplugin.h"
26 #include "plugins/pluginloader.h"
28 EnginePluginComboBox::EnginePluginComboBox(QWidget *parent)
31 this->connect(
this, SIGNAL(currentIndexChanged(
int)), SLOT(onIndexChanged(
int)));
35 EnginePlugin *EnginePluginComboBox::currentPlugin()
const
37 if (currentIndex() >= 0)
39 unsigned enginePluginIndex = itemData(currentIndex()).toUInt();
40 if (enginePluginIndex < gPlugins->numPlugins())
42 return gPlugins->info(enginePluginIndex);
48 void EnginePluginComboBox::loadPlugins()
52 for (
unsigned i = 0; i < gPlugins->numPlugins(); ++i)
55 addItem(plugin->icon(), plugin->data()->name, i);
64 void EnginePluginComboBox::onIndexChanged(
int index)
66 emit currentPluginChanged(currentPlugin());
69 bool EnginePluginComboBox::setPluginByName(
const QString &name)
71 int engIndex = gPlugins->pluginIndexFromName(name);
76 setCurrentIndex(engIndex);