Ejemplo n.º 1
0
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();
}
Ejemplo n.º 2
0
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));
}
Ejemplo n.º 3
0
void ApplicationPlugins::clearPlugins()
{
    qDeleteAll(m_plugins);
    m_plugins.clear();

    emit pluginsChanged(QQmlListProperty<ApplicationPluginItem>(this, m_plugins));
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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();

}
Ejemplo n.º 7
0
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();
}
Ejemplo n.º 8
0
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();
}