summaryrefslogtreecommitdiff
path: root/src/settingsdialogplugins.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-11-17 13:24:57 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-11-17 13:24:57 +0100
commite9a4f91fac08087ef83ce5b7716abeda90b6bde3 (patch)
tree2a715dce33cd3aa28c676b077b54cb19f93686bd /src/settingsdialogplugins.cpp
parent1e67c3e68dbe4141c9cd3bfd7b29c747fca03753 (diff)
Display inactive checkbox for core plugins (not for games).
Diffstat (limited to 'src/settingsdialogplugins.cpp')
-rw-r--r--src/settingsdialogplugins.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/settingsdialogplugins.cpp b/src/settingsdialogplugins.cpp
index 0c860fa0..eb0035b2 100644
--- a/src/settingsdialogplugins.cpp
+++ b/src/settingsdialogplugins.cpp
@@ -310,9 +310,17 @@ void PluginsSettingsTab::on_pluginsList_currentItemChanged(QTreeWidgetItem *curr
ui->versionLabel->setText(plugin->version().canonicalString());
ui->descriptionLabel->setText(plugin->description());
+ ui->enabledCheckbox->setDisabled(false);
+ ui->enabledCheckbox->setToolTip("");
ui->enabledCheckbox->setVisible(
- !m_pluginContainer->requirements(plugin).isCorePlugin()
+ !m_pluginContainer->implementInterface<IPluginGame>(plugin)
&& plugin->master().isEmpty());
+ if (m_pluginContainer->requirements(plugin).isCorePlugin()) {
+ ui->enabledCheckbox->setDisabled(true);
+ ui->enabledCheckbox->setToolTip(
+ QObject::tr("This plugin is required for Mod Organizer to work properly and cannot be disabled."));
+ }
+
ui->enabledCheckbox->setChecked(m_pluginContainer->isEnabled(plugin));
QVariantMap settings = current->data(0, ROLE_SETTINGS).toMap();