diff options
Diffstat (limited to 'src/problemsdialog.cpp')
| -rw-r--r-- | src/problemsdialog.cpp | 104 |
1 files changed, 45 insertions, 59 deletions
diff --git a/src/problemsdialog.cpp b/src/problemsdialog.cpp index 60a0b1df..146672ba 100644 --- a/src/problemsdialog.cpp +++ b/src/problemsdialog.cpp @@ -1,82 +1,68 @@ #include "problemsdialog.h"
#include "ui_problemsdialog.h"
-#include <utility.h>
-#include <iplugindiagnose.h>
#include <QPushButton>
#include <Shellapi.h>
-
+#include <iplugindiagnose.h>
+#include <utility.h>
using namespace MOBase;
+ProblemsDialog::ProblemsDialog(std::vector<MOBase::IPluginDiagnose*> diagnosePlugins, QWidget* parent)
+ : QDialog(parent), ui(new Ui::ProblemsDialog), m_DiagnosePlugins(diagnosePlugins) {
+ ui->setupUi(this);
-ProblemsDialog::ProblemsDialog(std::vector<MOBase::IPluginDiagnose *> diagnosePlugins, QWidget *parent)
- : QDialog(parent), ui(new Ui::ProblemsDialog), m_DiagnosePlugins(diagnosePlugins)
-{
- ui->setupUi(this);
+ runDiagnosis();
- runDiagnosis();
-
- connect(ui->problemsWidget, SIGNAL(itemSelectionChanged()), this, SLOT(selectionChanged()));
- connect(ui->descriptionText, SIGNAL(anchorClicked(QUrl)), this, SLOT(urlClicked(QUrl)));
+ connect(ui->problemsWidget, SIGNAL(itemSelectionChanged()), this, SLOT(selectionChanged()));
+ connect(ui->descriptionText, SIGNAL(anchorClicked(QUrl)), this, SLOT(urlClicked(QUrl)));
}
+ProblemsDialog::~ProblemsDialog() { delete ui; }
-ProblemsDialog::~ProblemsDialog()
-{
- delete ui;
-}
-
-void ProblemsDialog::runDiagnosis()
-{
- ui->problemsWidget->clear();
- foreach (IPluginDiagnose *diagnose, m_DiagnosePlugins) {
- std::vector<unsigned int> activeProblems = diagnose->activeProblems();
- foreach (unsigned int key, activeProblems) {
- QTreeWidgetItem *newItem = new QTreeWidgetItem();
- newItem->setText(0, diagnose->shortDescription(key));
- newItem->setData(0, Qt::UserRole, diagnose->fullDescription(key));
+void ProblemsDialog::runDiagnosis() {
+ ui->problemsWidget->clear();
+ foreach (IPluginDiagnose* diagnose, m_DiagnosePlugins) {
+ std::vector<unsigned int> activeProblems = diagnose->activeProblems();
+ foreach (unsigned int key, activeProblems) {
+ QTreeWidgetItem* newItem = new QTreeWidgetItem();
+ newItem->setText(0, diagnose->shortDescription(key));
+ newItem->setData(0, Qt::UserRole, diagnose->fullDescription(key));
- ui->problemsWidget->addTopLevelItem(newItem);
+ ui->problemsWidget->addTopLevelItem(newItem);
- if (diagnose->hasGuidedFix(key)) {
- newItem->setText(1, tr("Fix"));
- QPushButton *fixButton = new QPushButton(tr("Fix"));
- fixButton->setProperty("fix", qVariantFromValue(reinterpret_cast<void*>(diagnose)));
- fixButton->setProperty("key", key);
- connect(fixButton, SIGNAL(clicked()), this, SLOT(startFix()));
- ui->problemsWidget->setItemWidget(newItem, 1, fixButton);
- } else {
- newItem->setText(1, tr("No guided fix"));
- }
+ if (diagnose->hasGuidedFix(key)) {
+ newItem->setText(1, tr("Fix"));
+ QPushButton* fixButton = new QPushButton(tr("Fix"));
+ fixButton->setProperty("fix", qVariantFromValue(reinterpret_cast<void*>(diagnose)));
+ fixButton->setProperty("key", key);
+ connect(fixButton, SIGNAL(clicked()), this, SLOT(startFix()));
+ ui->problemsWidget->setItemWidget(newItem, 1, fixButton);
+ } else {
+ newItem->setText(1, tr("No guided fix"));
+ }
+ }
}
- }
}
-bool ProblemsDialog::hasProblems() const
-{
- return ui->problemsWidget->topLevelItemCount() != 0;
-}
+bool ProblemsDialog::hasProblems() const { return ui->problemsWidget->topLevelItemCount() != 0; }
-void ProblemsDialog::selectionChanged()
-{
- QString text = ui->problemsWidget->currentItem()->data(0, Qt::UserRole).toString();
- ui->descriptionText->setText(text);
- ui->descriptionText->setLineWrapMode(text.contains('\n') ? QTextEdit::NoWrap : QTextEdit::WidgetWidth);
+void ProblemsDialog::selectionChanged() {
+ QString text = ui->problemsWidget->currentItem()->data(0, Qt::UserRole).toString();
+ ui->descriptionText->setText(text);
+ ui->descriptionText->setLineWrapMode(text.contains('\n') ? QTextEdit::NoWrap : QTextEdit::WidgetWidth);
}
-void ProblemsDialog::startFix()
-{
- QObject *fixButton = QObject::sender();
- if (fixButton == NULL) {
- qWarning("no button");
- return;
- }
- IPluginDiagnose *plugin = reinterpret_cast<IPluginDiagnose*>(fixButton ->property("fix").value<void*>());
- plugin->startGuidedFix(fixButton ->property("key").toUInt());
- runDiagnosis();
+void ProblemsDialog::startFix() {
+ QObject* fixButton = QObject::sender();
+ if (fixButton == NULL) {
+ qWarning("no button");
+ return;
+ }
+ IPluginDiagnose* plugin = reinterpret_cast<IPluginDiagnose*>(fixButton->property("fix").value<void*>());
+ plugin->startGuidedFix(fixButton->property("key").toUInt());
+ runDiagnosis();
}
-void ProblemsDialog::urlClicked(const QUrl &url)
-{
- ::ShellExecuteW(nullptr, L"open", ToWString(url.toString()).c_str(), nullptr, nullptr, SW_SHOWNORMAL);
+void ProblemsDialog::urlClicked(const QUrl& url) {
+ ::ShellExecuteW(nullptr, L"open", ToWString(url.toString()).c_str(), nullptr, nullptr, SW_SHOWNORMAL);
}
|
