Files
qt6-migration-pipeline/Lts/Common/LtsPluginManager/Ui/lts_plugin_manager_dialog.cpp
T

103 lines
2.5 KiB
C++
Executable File

#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 <QCoreApplication>
#include <QString>
#include <QDebug>
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<LtsPluginWidget *>(filename);
if (!pluginWidget)
{
pluginWidget = new LtsPluginWidget(filename);
pluginWidget->setObjectName(filename);
qobject_cast<QHBoxLayout *>(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();
}
}