aboutsummaryrefslogtreecommitdiff
path: root/launcher/InstanceTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/InstanceTask.h')
-rw-r--r--launcher/InstanceTask.h78
1 files changed, 36 insertions, 42 deletions
diff --git a/launcher/InstanceTask.h b/launcher/InstanceTask.h
index 02810a52..5d67a2f0 100644
--- a/launcher/InstanceTask.h
+++ b/launcher/InstanceTask.h
@@ -1,56 +1,50 @@
#pragma once
-#include "tasks/Task.h"
#include "settings/SettingsObject.h"
+#include "tasks/Task.h"
+
+struct InstanceName {
+ public:
+ InstanceName() = default;
+ InstanceName(QString name, QString version) : m_original_name(std::move(name)), m_original_version(std::move(version)) {}
+
+ [[nodiscard]] QString modifiedName() const;
+ [[nodiscard]] QString originalName() const;
+ [[nodiscard]] QString name() const;
+ [[nodiscard]] QString version() const;
+
+ void setName(QString name) { m_modified_name = name; }
+ void setName(InstanceName& other);
+
+ protected:
+ QString m_original_name;
+ QString m_original_version;
-class InstanceTask : public Task
-{
+ QString m_modified_name;
+};
+
+class InstanceTask : public Task, public InstanceName {
Q_OBJECT
-public:
- explicit InstanceTask();
- virtual ~InstanceTask();
-
- void setParentSettings(SettingsObjectPtr settings)
- {
- m_globalSettings = settings;
- }
-
- void setStagingPath(const QString &stagingPath)
- {
- m_stagingPath = stagingPath;
- }
-
- void setName(const QString &name)
- {
- m_instName = name;
- }
- QString name() const
- {
- return m_instName;
- }
-
- void setIcon(const QString &icon)
- {
- m_instIcon = icon;
- }
-
- void setGroup(const QString &group)
- {
- m_instGroup = group;
- }
- QString group() const
- {
- return m_instGroup;
- }
+ public:
+ InstanceTask();
+ ~InstanceTask() override = default;
+
+ void setParentSettings(SettingsObjectPtr settings) { m_globalSettings = settings; }
+
+ void setStagingPath(const QString& stagingPath) { m_stagingPath = stagingPath; }
+
+ void setIcon(const QString& icon) { m_instIcon = icon; }
+
+ void setGroup(const QString& group) { m_instGroup = group; }
+ QString group() const { return m_instGroup; }
bool shouldOverride() const { return m_override_existing; }
-protected:
+ protected:
void setOverride(bool override) { m_override_existing = override; }
-protected: /* data */
+ protected: /* data */
SettingsObjectPtr m_globalSettings;
- QString m_instName;
QString m_instIcon;
QString m_instGroup;
QString m_stagingPath;