feat: allow skipping the update confirmation dialog

Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
flow 2022-10-14 14:23:55 -03:00
parent 08d008a5aa
commit 82699cc297
No known key found for this signature in database
GPG Key ID: 8D0F221F0A59F469
3 changed files with 20 additions and 12 deletions

View File

@ -44,6 +44,9 @@ class InstanceTask : public Task, public InstanceName {
void setGroup(const QString& group) { m_instGroup = group; } void setGroup(const QString& group) { m_instGroup = group; }
QString group() const { return m_instGroup; } QString group() const { return m_instGroup; }
[[nodiscard]] bool shouldConfirmUpdate() const { return m_confirm_update; }
void setConfirmUpdate(bool confirm) { m_confirm_update = confirm; }
bool shouldOverride() const { return m_override_existing; } bool shouldOverride() const { return m_override_existing; }
protected: protected:
@ -56,4 +59,5 @@ class InstanceTask : public Task, public InstanceName {
QString m_stagingPath; QString m_stagingPath;
bool m_override_existing = false; bool m_override_existing = false;
bool m_confirm_update = true;
}; };

View File

@ -102,6 +102,7 @@ bool FlameCreationTask::updateInstance()
auto version_id = inst->getManagedPackVersionName(); auto version_id = inst->getManagedPackVersionName();
auto version_str = !version_id.isEmpty() ? tr(" (version %1)").arg(version_id) : ""; auto version_str = !version_id.isEmpty() ? tr(" (version %1)").arg(version_id) : "";
if (shouldConfirmUpdate()) {
auto should_update = askIfShouldUpdate(m_parent, version_str); auto should_update = askIfShouldUpdate(m_parent, version_str);
if (should_update == ShouldUpdate::SkipUpdating) if (should_update == ShouldUpdate::SkipUpdating)
return false; return false;
@ -109,6 +110,7 @@ bool FlameCreationTask::updateInstance()
m_abort = true; m_abort = true;
return false; return false;
} }
}
QDir old_inst_dir(inst->instanceRoot()); QDir old_inst_dir(inst->instanceRoot());

View File

@ -49,6 +49,7 @@ bool ModrinthCreationTask::updateInstance()
auto version_name = inst->getManagedPackVersionName(); auto version_name = inst->getManagedPackVersionName();
auto version_str = !version_name.isEmpty() ? tr(" (version %1)").arg(version_name) : ""; auto version_str = !version_name.isEmpty() ? tr(" (version %1)").arg(version_name) : "";
if (shouldConfirmUpdate()) {
auto should_update = askIfShouldUpdate(m_parent, version_str); auto should_update = askIfShouldUpdate(m_parent, version_str);
if (should_update == ShouldUpdate::SkipUpdating) if (should_update == ShouldUpdate::SkipUpdating)
return false; return false;
@ -56,6 +57,7 @@ bool ModrinthCreationTask::updateInstance()
m_abort = true; m_abort = true;
return false; return false;
} }
}
// Remove repeated files, we don't need to download them! // Remove repeated files, we don't need to download them!
QDir old_inst_dir(inst->instanceRoot()); QDir old_inst_dir(inst->instanceRoot());