#include "lts_plugin_manager_dialog.h" #include "lts_plugin_manager_widget.h" #include "ui_lts_plugin_manager_dialog.h" #include "../lts_plugin_manager.h" #include #include #include namespace LtsPluginManager { LtsPluginManagerDialog::LtsPluginManagerDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::LtsPluginManagerDialog) { m_ui->setupUi(this); m_ui->masterSplitter->setStretchFactor(m_ui->masterSplitter->indexOf(m_ui->pluginsWidget), 20); m_ui->masterSplitter->setStretchFactor(m_ui->masterSplitter->indexOf(m_ui->lwErrorLog), 0); } LtsPluginManagerDialog::~LtsPluginManagerDialog() { delete m_ui; } void LtsPluginManagerDialog::setServiceMissing(const QString &newPluginFilename, const QString &missingPluginName) { m_ui->lwErrorLog->addItem(tr("ERROR: Plugin '%1' needs the plugin '%2', which is not available!").arg(newPluginFilename, missingPluginName)); getPluginWidget(newPluginFilename)->setStatus(LtsPluginWidget::MISSING_SERVICE); if (!isVisible()) show(); QCoreApplication::processEvents(); } void LtsPluginManagerDialog::setOptionalServiceMissing(const QString &newPluginFilename, const QString &missingPluginName) { m_ui->lwErrorLog->addItem(tr("INFO: Plugin %1 asked for plugin %2, which is not available!").arg(newPluginFilename, missingPluginName)); if (!isVisible()) show(); QCoreApplication::processEvents(); } void LtsPluginManagerDialog::setInvalidPlugin(const QString &newPluginFilename) { m_ui->lwErrorLog->addItem(tr("INFO: Invalid plugin '%1'").arg(newPluginFilename)); } LtsPluginWidget *LtsPluginManagerDialog::getPluginWidget(const QString &filename) { LtsPluginWidget *pluginWidget = findChild(filename); if (!pluginWidget) { pluginWidget = new LtsPluginWidget(filename); pluginWidget->setObjectName(filename); qobject_cast(m_ui->pluginsWidget->layout())->insertWidget(0, pluginWidget); } return pluginWidget; } void LtsPluginManagerDialog::setPluginLogStatus(const QString &filename, const LtsPluginWidget::Status &status) { getPluginWidget(filename)->setStatus(status); QCoreApplication::processEvents(); } void LtsPluginManagerDialog::setPluginLogType(const QString &filename, const QString &type) { getPluginWidget(filename)->setType(type); QCoreApplication::processEvents(); } void LtsPluginManagerDialog::setPluginLogIdent(const QString &filename, const QString &ident) { getPluginWidget(filename)->setIdent(ident); QCoreApplication::processEvents(); } }