ATLauncher: Add modes to install task and display appropriate message
This will display the update/reinstall message for the installation method currently in use..
This commit is contained in:
parent
3b187b5246
commit
e0ae631d59
@ -60,12 +60,13 @@ namespace ATLauncher {
|
|||||||
|
|
||||||
static Meta::VersionPtr getComponentVersion(const QString& uid, const QString& version);
|
static Meta::VersionPtr getComponentVersion(const QString& uid, const QString& version);
|
||||||
|
|
||||||
PackInstallTask::PackInstallTask(UserInteractionSupport *support, QString packName, QString version)
|
PackInstallTask::PackInstallTask(UserInteractionSupport *support, QString packName, QString version, InstallMode installMode)
|
||||||
{
|
{
|
||||||
m_support = support;
|
m_support = support;
|
||||||
m_pack_name = packName;
|
m_pack_name = packName;
|
||||||
m_pack_safe_name = packName.replace(QRegularExpression("[^A-Za-z0-9]"), "");
|
m_pack_safe_name = packName.replace(QRegularExpression("[^A-Za-z0-9]"), "");
|
||||||
m_version_name = version;
|
m_version_name = version;
|
||||||
|
m_install_mode = installMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PackInstallTask::abort()
|
bool PackInstallTask::abort()
|
||||||
@ -117,9 +118,27 @@ void PackInstallTask::onDownloadSucceeded()
|
|||||||
}
|
}
|
||||||
m_version = version;
|
m_version = version;
|
||||||
|
|
||||||
// Display install message if one exists
|
// Derived from the installation mode
|
||||||
if (!m_version.messages.install.isEmpty())
|
QString message;
|
||||||
m_support->displayMessage(m_version.messages.install);
|
|
||||||
|
switch (m_install_mode) {
|
||||||
|
case InstallMode::Reinstall:
|
||||||
|
case InstallMode::Update:
|
||||||
|
message = m_version.messages.update;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case InstallMode::Install:
|
||||||
|
message = m_version.messages.install;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
emitFailed(tr("Unsupported installation mode"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display message if one exists
|
||||||
|
if (!message.isEmpty())
|
||||||
|
m_support->displayMessage(message);
|
||||||
|
|
||||||
auto ver = getComponentVersion("net.minecraft", m_version.minecraft);
|
auto ver = getComponentVersion("net.minecraft", m_version.minecraft);
|
||||||
if (!ver) {
|
if (!ver) {
|
||||||
|
@ -50,6 +50,12 @@
|
|||||||
|
|
||||||
namespace ATLauncher {
|
namespace ATLauncher {
|
||||||
|
|
||||||
|
enum class InstallMode {
|
||||||
|
Install,
|
||||||
|
Reinstall,
|
||||||
|
Update,
|
||||||
|
};
|
||||||
|
|
||||||
class UserInteractionSupport {
|
class UserInteractionSupport {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -75,7 +81,7 @@ class PackInstallTask : public InstanceTask
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit PackInstallTask(UserInteractionSupport *support, QString packName, QString version);
|
explicit PackInstallTask(UserInteractionSupport *support, QString packName, QString version, InstallMode installMode = InstallMode::Install);
|
||||||
virtual ~PackInstallTask(){}
|
virtual ~PackInstallTask(){}
|
||||||
|
|
||||||
bool canAbort() const override { return true; }
|
bool canAbort() const override { return true; }
|
||||||
@ -117,6 +123,7 @@ private:
|
|||||||
NetJob::Ptr jobPtr;
|
NetJob::Ptr jobPtr;
|
||||||
QByteArray response;
|
QByteArray response;
|
||||||
|
|
||||||
|
InstallMode m_install_mode;
|
||||||
QString m_pack_name;
|
QString m_pack_name;
|
||||||
QString m_pack_safe_name;
|
QString m_pack_safe_name;
|
||||||
QString m_version_name;
|
QString m_version_name;
|
||||||
|
Loading…
Reference in New Issue
Block a user