summaryrefslogtreecommitdiff
path: root/src/problemsdialog.cpp
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2019-05-03 21:32:33 -0500
committerLostDragonist <lost.dragonist@gmail.com>2019-05-03 21:32:33 -0500
commit179a73857125ee604f42b0d5c2d765183c86d2c7 (patch)
treeb9b3f9d62bd5640de839d150a53ab8ef119dab9c /src/problemsdialog.cpp
parente2b799bd6b5cfd51969fefd1dab5e5b1b7e5f81c (diff)
parent907c5468424b48774f5da2a6b5f96f26590987b0 (diff)
Merge pull request #695 from ModOrganizer2/Develop
Stage for Release 2.2.0
Diffstat (limited to 'src/problemsdialog.cpp')
-rw-r--r--src/problemsdialog.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/problemsdialog.cpp b/src/problemsdialog.cpp
index 60a0b1df..795baab0 100644
--- a/src/problemsdialog.cpp
+++ b/src/problemsdialog.cpp
@@ -1,6 +1,7 @@
#include "problemsdialog.h"
#include "ui_problemsdialog.h"
#include <utility.h>
+#include <iplugin.h>
#include <iplugindiagnose.h>
#include <QPushButton>
#include <Shellapi.h>
@@ -9,8 +10,8 @@
using namespace MOBase;
-ProblemsDialog::ProblemsDialog(std::vector<MOBase::IPluginDiagnose *> diagnosePlugins, QWidget *parent)
- : QDialog(parent), ui(new Ui::ProblemsDialog), m_DiagnosePlugins(diagnosePlugins)
+ProblemsDialog::ProblemsDialog(std::vector<QObject *> pluginObjects, QWidget *parent)
+ : QDialog(parent), ui(new Ui::ProblemsDialog), m_PluginObjects(pluginObjects)
{
ui->setupUi(this);
@@ -29,7 +30,15 @@ ProblemsDialog::~ProblemsDialog()
void ProblemsDialog::runDiagnosis()
{
ui->problemsWidget->clear();
- foreach (IPluginDiagnose *diagnose, m_DiagnosePlugins) {
+ for(QObject *pluginObj : m_PluginObjects) {
+ IPlugin *plugin = qobject_cast<IPlugin*>(pluginObj);
+ if (plugin != nullptr && !plugin->isActive())
+ continue;
+
+ IPluginDiagnose *diagnose = qobject_cast<IPluginDiagnose*>(pluginObj);
+ if (diagnose == nullptr)
+ continue;
+
std::vector<unsigned int> activeProblems = diagnose->activeProblems();
foreach (unsigned int key, activeProblems) {
QTreeWidgetItem *newItem = new QTreeWidgetItem();