aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
diff options
context:
space:
mode:
authorJamie Mansfield <jmansfield@cadixdev.org>2022-05-05 20:58:12 +0100
committerJamie Mansfield <jmansfield@cadixdev.org>2022-05-21 15:20:38 +0100
commitb84d52be3d1109efc2c9e35304831314050bd398 (patch)
treeed249a2935f591e08efa2ff0e8a2ad538d44ffba /launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
parent305973c0e7c07693a8b08d1908e64fc4986e13e0 (diff)
downloadPrismLauncher-b84d52be3d1109efc2c9e35304831314050bd398.tar.gz
PrismLauncher-b84d52be3d1109efc2c9e35304831314050bd398.tar.bz2
PrismLauncher-b84d52be3d1109efc2c9e35304831314050bd398.zip
ATLauncher: Display warnings when selecting optional mods
Diffstat (limited to 'launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp')
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp b/launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
index aee5a78e..004fdc57 100644
--- a/launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
+++ b/launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
@@ -231,7 +231,21 @@ void AtlOptionalModListModel::clearAll() {
}
void AtlOptionalModListModel::toggleMod(ATLauncher::VersionMod mod, int index) {
- setMod(mod, index, !m_selection[mod.name]);
+ auto enable = !m_selection[mod.name];
+
+ // If there is a warning for the mod, display that first (if we would be enabling the mod)
+ if (enable && !mod.warning.isEmpty() && m_version.warnings.contains(mod.warning)) {
+ auto message = QString("%1<br><br>%2")
+ .arg(m_version.warnings[mod.warning], tr("Are you sure that you want to enable this mod?"));
+
+ // fixme: avoid casting here
+ auto result = QMessageBox::warning((QWidget*) this->parent(), tr("Warning"), message, QMessageBox::Yes | QMessageBox::No);
+ if (result != QMessageBox::Yes) {
+ return;
+ }
+ }
+
+ setMod(mod, index, enable);
}
void AtlOptionalModListModel::setMod(ATLauncher::VersionMod mod, int index, bool enable, bool shouldEmit) {