aboutsummaryrefslogtreecommitdiff
path: root/launcher/InstanceTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/InstanceTask.h')
-rw-r--r--launcher/InstanceTask.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/launcher/InstanceTask.h b/launcher/InstanceTask.h
index e35533fc..7c02160a 100644
--- a/launcher/InstanceTask.h
+++ b/launcher/InstanceTask.h
@@ -6,6 +6,8 @@
/* Helpers */
enum class InstanceNameChange { ShouldChange, ShouldKeep };
[[nodiscard]] InstanceNameChange askForChangingInstanceName(QWidget* parent, const QString& old_name, const QString& new_name);
+enum class ShouldUpdate { Update, SkipUpdating, Cancel };
+[[nodiscard]] ShouldUpdate askIfShouldUpdate(QWidget* parent, QString original_version_name);
struct InstanceName {
public:
@@ -42,10 +44,20 @@ class InstanceTask : public Task, public InstanceName {
void setGroup(const QString& group) { m_instGroup = group; }
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; }
+ [[nodiscard]] QString originalInstanceID() const { return m_original_instance_id; };
+
protected:
- void setOverride(bool override) { m_override_existing = override; }
+ void setOverride(bool override, QString instance_id_to_override = {})
+ {
+ m_override_existing = override;
+ if (!instance_id_to_override.isEmpty())
+ m_original_instance_id = instance_id_to_override;
+ }
protected: /* data */
SettingsObjectPtr m_globalSettings;
@@ -54,4 +66,7 @@ class InstanceTask : public Task, public InstanceName {
QString m_stagingPath;
bool m_override_existing = false;
+ bool m_confirm_update = true;
+
+ QString m_original_instance_id;
};