| 38 | } |
| 39 | |
| 40 | void PluginsManager::LoadPlugins(QString path) |
| 41 | { |
| 42 | DEBUG_LOW_LEVEL << Q_FUNC_INFO << path; |
| 43 | |
| 44 | //QStringList pluginPaths = QApplication::libraryPaths(); |
| 45 | // path = QString(Settings::getApplicationDirPath() + "Plugins"); |
| 46 | QDir dir(path); |
| 47 | //QStringList files = dir.entryList(QStringList("*.py"), QDir::Files); |
| 48 | |
| 49 | QStringList lstDirs = dir.entryList(QDir::Dirs | |
| 50 | QDir::AllDirs | |
| 51 | QDir::NoDotAndDotDot); //Get directories |
| 52 | |
| 53 | foreach(QString pluginDir, lstDirs){ |
| 54 | QString plugin = QFileInfo (pluginDir).baseName (); |
| 55 | |
| 56 | QMap<QString, Plugin*>::iterator found = _plugins.find(plugin); |
| 57 | if(found != _plugins.end()){ |
| 58 | DEBUG_LOW_LEVEL << "Already loaded a plugin named " << plugin << " !"; |
| 59 | continue; |
| 60 | } |
| 61 | |
| 62 | Plugin* p = new Plugin(plugin,path+"/"+pluginDir,this); |
| 63 | //DEBUG_LOW_LEVEL <<p->getName()<< p->getAuthor() << p->getDescription() << p->getVersion(); |
| 64 | //connect(p, SIGNAL(executed()), this, SIGNAL(pluginExecuted())); |
| 65 | _plugins[plugin] = p; |
| 66 | } |
| 67 | |
| 68 | emit updatePlugin(_plugins.values()); |
| 69 | |
| 70 | } |
| 71 | |
| 72 | Plugin* PluginsManager::getPlugin(const QString& name_){ |
| 73 | QMap<QString, Plugin*>::iterator found = _plugins.find(name_); |
no test coverage detected