PrismLauncher/launcher/InstanceTask.h
Trial97 3338db3f28
remove InstanceName
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-05-24 22:07:04 +03:00

63 lines
2 KiB
C++

#pragma once
#include <cstdint>
#include "settings/SettingsObject.h"
#include "tasks/Task.h"
/* Helpers */
enum class InstanceNameChange : std::uint8_t { ShouldChange, ShouldKeep };
[[nodiscard]] InstanceNameChange askForChangingInstanceName(QWidget* parent, const QString& oldName, const QString& newName);
enum class ShouldUpdate : std::uint8_t { Update, SkipUpdating, Cancel };
[[nodiscard]] ShouldUpdate askIfShouldUpdate(QWidget* parent, QString originalVersionName);
enum class ShouldDeleteSaves : std::uint8_t { NotAsked, Yes, No };
[[nodiscard]] ShouldDeleteSaves askIfShouldDeleteSaves(QWidget* parent);
class InstanceTask : public Task {
Q_OBJECT
public:
InstanceTask() = default;
~InstanceTask() override = default;
void setParentSettings(SettingsObject* 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 shouldConfirmUpdate() const { return m_confirmUpdate; }
void setConfirmUpdate(bool confirm) { m_confirmUpdate = confirm; }
bool shouldOverride() const { return m_overrideExisting; }
QString originalInstanceID() const { return m_originalInstanceId; };
QString modifiedName() const;
QString originalName() const;
QString name() const;
QString version() const;
void setName(const QString& name) { m_modifiedName = name; }
void setOriginalName(const QString& name, const QString& version);
protected:
void setOverride(bool override, const QString& instanceIdToOverride = {});
protected: /* data */
SettingsObject* m_globalSettings{};
QString m_instIcon;
QString m_instGroup;
QString m_stagingPath;
bool m_overrideExisting = false;
bool m_confirmUpdate = true;
QString m_originalInstanceId;
QString m_originalName;
QString m_originalVersion;
QString m_modifiedName;
};