diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-09-26 13:38:34 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-09-26 13:38:34 +0200 |
commit | 2b998bb8cc8e83efafb20ed2fbe1a245d4d5ec5f (patch) | |
tree | 392872160002aa12c95a9f9239300aa12e80b368 /api/logic/minecraft/legacy/LegacyMigrationTask.cpp | |
parent | eac892965e152519a6d7278504e7d4118aa7c01f (diff) | |
download | MultiMC-2b998bb8cc8e83efafb20ed2fbe1a245d4d5ec5f.tar MultiMC-2b998bb8cc8e83efafb20ed2fbe1a245d4d5ec5f.tar.gz MultiMC-2b998bb8cc8e83efafb20ed2fbe1a245d4d5ec5f.tar.lz MultiMC-2b998bb8cc8e83efafb20ed2fbe1a245d4d5ec5f.tar.xz MultiMC-2b998bb8cc8e83efafb20ed2fbe1a245d4d5ec5f.zip |
NOISSUE implement LEgacy instance migration
Diffstat (limited to 'api/logic/minecraft/legacy/LegacyMigrationTask.cpp')
-rw-r--r-- | api/logic/minecraft/legacy/LegacyMigrationTask.cpp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/api/logic/minecraft/legacy/LegacyMigrationTask.cpp b/api/logic/minecraft/legacy/LegacyMigrationTask.cpp deleted file mode 100644 index 0d3cef35..00000000 --- a/api/logic/minecraft/legacy/LegacyMigrationTask.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "LegacyMigrationTask.h" -#include "BaseInstanceProvider.h" -#include "settings/INISettingsObject.h" -#include "FileSystem.h" -#include "NullInstance.h" -#include "pathmatcher/RegexpMatcher.h" -#include <QtConcurrentRun> - -LegacyMigrationTask::LegacyMigrationTask(SettingsObjectPtr settings, const QString & stagingPath, InstancePtr origInstance) -{ - m_globalSettings = settings; - m_stagingPath = stagingPath; - m_origInstance = origInstance; -} - -void LegacyMigrationTask::executeTask() -{ - setStatus(tr("Copying instance %1").arg(m_origInstance->name())); - - FS::copy folderCopy(m_origInstance->instanceRoot(), m_stagingPath); - folderCopy.followSymlinks(true); - - m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), folderCopy); - connect(&m_copyFutureWatcher, &QFutureWatcher<bool>::finished, this, &LegacyMigrationTask::copyFinished); - connect(&m_copyFutureWatcher, &QFutureWatcher<bool>::canceled, this, &LegacyMigrationTask::copyAborted); - m_copyFutureWatcher.setFuture(m_copyFuture); -} - -void LegacyMigrationTask::copyFinished() -{ - auto successful = m_copyFuture.result(); - if(!successful) - { - emitFailed(tr("Instance folder copy failed.")); - return; - } - // FIXME: shouldn't this be able to report errors? - auto instanceSettings = std::make_shared<INISettingsObject>(FS::PathCombine(m_stagingPath, "instance.cfg")); - instanceSettings->registerSetting("InstanceType", "Legacy"); - - InstancePtr inst(new NullInstance(m_globalSettings, instanceSettings, m_stagingPath)); - inst->setName(tr("%1 (Migrated)").arg(m_origInstance->name())); - emitSucceeded(); -} - -void LegacyMigrationTask::copyAborted() -{ - emitFailed(tr("Instance folder copy has been aborted.")); - return; -} - |