diff options
| author | Brian Munro <brian.alexander.munro@gmail.com> | 2018-02-22 18:02:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-22 18:02:02 +0200 |
| commit | 28714f0eb800f2170acbf29dddce1582d20d6b8b (patch) | |
| tree | 0684c123db375336e0e03f0240155a12e744db16 /src/problemsdialog.cpp | |
| parent | 0bcd752b2758bdb072b498ccc90905276be065e9 (diff) | |
| parent | 5e5c9c07291f6b09623d31c92b1fb61c4ede576e (diff) | |
Merge pull request #236 from SuperSandro2000/new_vfs_library
Update reame.md
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);
}
|
