void SystemTrayIcon::openPreferencesWindow() { PreferencesDialog prefDialog(NULL, Qt::Dialog, &uploaders, activeUploader); connect(&prefDialog, SIGNAL(openDashboardPressed()), this, SLOT(openDashboard())); connect(&prefDialog, SIGNAL(pluginsChanged(QList<QString>,QList<QString>)), this, SLOT(reloadPlugins(QList<QString>,QList<QString>))); prefDialog.exec(); disconnect(&prefDialog, SIGNAL(openDashboardPressed()), this, SLOT(openDashboard())); disconnect(&prefDialog, SIGNAL(pluginsChanged(QList<QString>,QList<QString>)), this, SLOT(reloadPlugins(QList<QString>,QList<QString>))); //Update the sytray icon, menus and shortcuts loadSettings(); setAppProxy(); updateGlobalShortcuts(); updateSystrayMenu(); }
void ApplicationPlugins::updatePlugins() { qDeleteAll(m_plugins); m_plugins.clear(); for (QString path: m_searchPaths) { if (!QDir(path).exists()) { continue; } QDirIterator dirIterator(path, QDirIterator::FollowSymlinks | QDirIterator::Subdirectories); while (dirIterator.hasNext()) { dirIterator.next(); QFileInfo info = dirIterator.fileInfo(); if (info.isFile() && info.fileName() == "plugin.ini") { readPluginFile(info.filePath()); } } } emit pluginsChanged(QQmlListProperty<ApplicationPluginItem>(this, m_plugins)); }
void ApplicationPlugins::clearPlugins() { qDeleteAll(m_plugins); m_plugins.clear(); emit pluginsChanged(QQmlListProperty<ApplicationPluginItem>(this, m_plugins)); }
bool PluginManager::load(const std::string & filePath, const bool reload) { // Load plugin library bool res = loadLibrary(filePath, reload); // Announce loaded plugins have changed pluginsChanged(); return res; }
Project::Project(Viewer *viewer, ILoader *loader, QMenuBar *menuBar) { _viewer = viewer; _loader = loader; _menuBar = menuBar; _viewer->setProject(this); _loader->setProject(this); connect(&PluginManager::instance, SIGNAL(pluginsChanged()), this, SLOT(onPluginsChanged())); onPluginsChanged(); }
void RecordItNowPluginManager::loadPluginList() { clear(); loadInfos("RecordItNowRecorder"); if (m_plugins.isEmpty()) { printf("*********************************\n"); printf("Please run \"kbuildsycoca4\".\n"); printf("*********************************\n"); } loadInfos("RecordItNowEncoder"); emit pluginsChanged(); }
void PluginManager::scan(const std::string & identifier, bool reload) { // List all files in all search paths const std::vector<std::string> files = iozeug::getFiles(m_paths, true); for (const std::string & file : files) { // Check if file is a library if (iozeug::getExtension(file) != iozeug::SystemInfo::libExtension()) continue; // Check if library name corresponds to search criteria std::string query = identifier + "." + iozeug::SystemInfo::libExtension(); if (identifier.empty() || file.find(query, file.find_last_of('/')) != std::string::npos) loadLibrary(file, reload); } // Announce loaded plugins have changed pluginsChanged(); }
void PluginManager::loadPlugins() { Q_FOREACH (PluginSpec *spec, m_pluginSpecs) setPluginState(spec, State::Resolved); QList<PluginSpec *> queue = loadQueue(); Q_FOREACH (PluginSpec *spec, queue) setPluginState(spec, State::Loaded); Q_FOREACH (PluginSpec *spec, queue) setPluginState(spec, State::Initialized); QListIterator<PluginSpec *> it(queue); it.toBack(); while (it.hasPrevious()) setPluginState(it.previous(), State::Running); Q_EMIT pluginsChanged(); }