aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/modplatform/flame/FlameInstanceCreationTask.cpp')
-rw-r--r--launcher/modplatform/flame/FlameInstanceCreationTask.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
index c8b2e297..22ee0998 100644
--- a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
@@ -66,16 +66,25 @@ bool FlameCreationTask::updateInstance()
auto version_id = inst->getManagedPackVersionName();
auto version_str = !version_id.isEmpty() ? tr(" (version %1)").arg(version_id) : "";
- auto info = CustomMessageBox::selectable(m_parent, tr("Similar modpack was found!"),
- tr("One or more of your instances are from this same modpack%1. Do you want to create a "
- "separate instance, or update the existing one?")
- .arg(version_str),
- QMessageBox::Information, QMessageBox::Ok | QMessageBox::Abort);
+ auto info = CustomMessageBox::selectable(
+ m_parent, tr("Similar modpack was found!"),
+ tr("One or more of your instances are from this same modpack%1. Do you want to create a "
+ "separate instance, or update the existing one?\n\nNOTE: Make sure you made a backup of your important instance data before "
+ "updating, as worlds can be corrupted and some configuration may be lost (due to pack overrides).")
+ .arg(version_str), QMessageBox::Information, QMessageBox::Ok | QMessageBox::Reset | QMessageBox::Abort);
info->setButtonText(QMessageBox::Ok, tr("Update existing instance"));
info->setButtonText(QMessageBox::Abort, tr("Create new instance"));
+ info->setButtonText(QMessageBox::Reset, tr("Cancel"));
- if (info->exec() && info->clickedButton() == info->button(QMessageBox::Abort))
+ info->exec();
+
+ if (info->clickedButton() == info->button(QMessageBox::Abort))
+ return false;
+
+ if (info->clickedButton() == info->button(QMessageBox::Reset)) {
+ m_abort = true;
return false;
+ }
QDir old_inst_dir(inst->instanceRoot());