remove InstanceName

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2026-05-07 23:39:31 +03:00
parent f67a670bcf
commit 3338db3f28
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318
8 changed files with 95 additions and 110 deletions

View file

@ -7,89 +7,100 @@
#include <QPushButton>
InstanceNameChange askForChangingInstanceName(QWidget* parent, const QString& old_name, const QString& new_name)
InstanceNameChange askForChangingInstanceName(QWidget* parent, const QString& oldName, const QString& newName)
{
auto dialog =
auto* dialog =
CustomMessageBox::selectable(parent, QObject::tr("Change instance name"),
QObject::tr("The instance's name seems to include the old version. Would you like to update it?\n\n"
"Old name: %1\n"
"New name: %2")
.arg(old_name, new_name),
.arg(oldName, newName),
QMessageBox::Question, QMessageBox::No | QMessageBox::Yes);
auto result = dialog->exec();
if (result == QMessageBox::Yes)
if (result == QMessageBox::Yes) {
return InstanceNameChange::ShouldChange;
}
return InstanceNameChange::ShouldKeep;
}
ShouldUpdate askIfShouldUpdate(QWidget* parent, QString original_version_name)
ShouldUpdate askIfShouldUpdate(QWidget* parent, QString originalVersionName)
{
if (APPLICATION->settings()->get("SkipModpackUpdatePrompt").toBool())
if (APPLICATION->settings()->get("SkipModpackUpdatePrompt").toBool()) {
return ShouldUpdate::SkipUpdating;
}
auto info = CustomMessageBox::selectable(
auto* info = CustomMessageBox::selectable(
parent, QObject::tr("Similar modpack was found!"),
QObject::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(original_version_name),
.arg(originalVersionName),
QMessageBox::Information, QMessageBox::Cancel);
QAbstractButton* update = info->addButton(QObject::tr("Update existing instance"), QMessageBox::AcceptRole);
QAbstractButton* skip = info->addButton(QObject::tr("Create new instance"), QMessageBox::ResetRole);
info->exec();
if (info->clickedButton() == update)
if (info->clickedButton() == update) {
return ShouldUpdate::Update;
if (info->clickedButton() == skip)
}
if (info->clickedButton() == skip) {
return ShouldUpdate::SkipUpdating;
}
return ShouldUpdate::Cancel;
}
QString InstanceName::name() const
QString InstanceTask::name() const
{
if (!m_modified_name.isEmpty())
if (!m_modifiedName.isEmpty()) {
return modifiedName();
if (!m_original_version.isEmpty())
return QString("%1 %2").arg(m_original_name, m_original_version);
}
if (!m_originalVersion.isEmpty()) {
return QString("%1 %2").arg(m_originalName, m_originalVersion);
}
return m_original_name;
return m_originalName;
}
QString InstanceName::originalName() const
QString InstanceTask::originalName() const
{
return m_original_name;
return m_originalName;
}
QString InstanceName::modifiedName() const
QString InstanceTask::modifiedName() const
{
if (!m_modified_name.isEmpty())
return m_modified_name;
return m_original_name;
if (!m_modifiedName.isEmpty()) {
return m_modifiedName;
}
return m_originalName;
}
QString InstanceName::version() const
QString InstanceTask::version() const
{
return m_original_version;
return m_originalVersion;
}
void InstanceName::setName(InstanceName& other)
void InstanceTask::setOriginalName(const QString& name, const QString& version)
{
m_original_name = other.m_original_name;
m_original_version = other.m_original_version;
m_modified_name = other.m_modified_name;
m_originalName = name;
m_originalVersion = version;
}
void InstanceTask::setOverride(bool override, const QString& instanceIdToOverride)
{
m_overrideExisting = override;
if (!instanceIdToOverride.isEmpty()) {
m_originalInstanceId = instanceIdToOverride;
}
}
InstanceTask::InstanceTask() : Task(), InstanceName() {}
ShouldDeleteSaves askIfShouldDeleteSaves(QWidget* parent)
{
auto dialog = CustomMessageBox::selectable(parent, QObject::tr("Delete Existing Save Files"),
QObject::tr("An earlier version of this mod pack installed save files.\n"
"Would you like to remove those existing saves as part of this update?"),
QMessageBox::Question, QMessageBox::No | QMessageBox::Yes);
auto* dialog = CustomMessageBox::selectable(parent, QObject::tr("Delete Existing Save Files"),
QObject::tr("An earlier version of this mod pack installed save files.\n"
"Would you like to remove those existing saves as part of this update?"),
QMessageBox::Question, QMessageBox::No | QMessageBox::Yes);
auto result = dialog->exec();
return result == QMessageBox::Yes ? ShouldDeleteSaves::Yes : ShouldDeleteSaves::No;
}