summaryrefslogtreecommitdiff
path: root/src/disableproxyplugindialog.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-11-17 14:28:43 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-11-17 14:28:43 +0100
commit8886674379c507fe46bfc6cb2ef013537567441b (patch)
tree587603a00cafa59664a94f8f9c77d67cae04a8be /src/disableproxyplugindialog.cpp
parentbed3475362f68a660d56dd31546b13e49586e36e (diff)
Better dialog for warning when disabling proxy plugin.
Diffstat (limited to 'src/disableproxyplugindialog.cpp')
-rw-r--r--src/disableproxyplugindialog.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/disableproxyplugindialog.cpp b/src/disableproxyplugindialog.cpp
new file mode 100644
index 00000000..f392113b
--- /dev/null
+++ b/src/disableproxyplugindialog.cpp
@@ -0,0 +1,30 @@
+#include "disableproxyplugindialog.h"
+
+#include "ui_proxyplugindialog.h"
+
+using namespace MOBase;
+
+DisableProxyPluginDialog::DisableProxyPluginDialog(
+ MOBase::IPlugin* proxyPlugin, std::vector<MOBase::IPlugin*> const& required, QWidget* parent)
+ : QDialog(parent), ui(new Ui::DisableProxyPluginDialog)
+{
+ ui->setupUi(this);
+
+ ui->topLabel->setText(QObject::tr(
+ "Disabling the '%1' plugin will prevent the following %2 plugin(s) from working:", "", required.size())
+ .arg(proxyPlugin->localizedName())
+ .arg(required.size()));
+
+ connect(ui->noBtn, &QPushButton::clicked, this, &QDialog::reject);
+ connect(ui->yesBtn, &QPushButton::clicked, this, &QDialog::accept);
+
+ ui->requiredPlugins->setSelectionMode(QAbstractItemView::NoSelection);
+ ui->requiredPlugins->setRowCount(required.size());
+ for (int i = 0; i < required.size(); ++i) {
+ ui->requiredPlugins->setItem(i, 0, new QTableWidgetItem(required[i]->localizedName()));
+ ui->requiredPlugins->setItem(i, 1, new QTableWidgetItem(required[i]->description()));
+ ui->requiredPlugins->setRowHeight(i, 9);
+ }
+ ui->requiredPlugins->verticalHeader()->setVisible(false);
+ ui->requiredPlugins->sortByColumn(0, Qt::AscendingOrder);
+}