diff options
author | flow <flowlnlnln@gmail.com> | 2022-06-10 16:43:01 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-07-17 11:33:42 -0300 |
commit | dfab55112b783d191ac9b596df9c2972b5fe74cb (patch) | |
tree | dd070aeab30785c65c06217aae5c7a105ce7a518 /launcher/minecraft/mod/tasks | |
parent | 1709b47bb7fd325c1b6dd482524fffa428b0f5a9 (diff) | |
download | PrismLauncher-dfab55112b783d191ac9b596df9c2972b5fe74cb.tar.gz PrismLauncher-dfab55112b783d191ac9b596df9c2972b5fe74cb.tar.bz2 PrismLauncher-dfab55112b783d191ac9b596df9c2972b5fe74cb.zip |
feat: remove existing mod when updating/redownloading it
Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/minecraft/mod/tasks')
-rw-r--r-- | launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp | 5 | ||||
-rw-r--r-- | launcher/minecraft/mod/tasks/LocalModUpdateTask.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp b/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp index 1bdecb8c..c73e855e 100644 --- a/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp +++ b/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp @@ -44,6 +44,11 @@ void LocalModUpdateTask::executeTask() { setStatus(tr("Updating index for mod:\n%1").arg(m_mod.name)); + auto old_metadata = Metadata::get(m_index_dir, m_mod.name); + if (old_metadata.isValid()) { + emit hasOldMod(old_metadata.name, old_metadata.filename); + } + auto pw_mod = Metadata::create(m_index_dir, m_mod, m_mod_version); Metadata::update(m_index_dir, pw_mod); diff --git a/launcher/minecraft/mod/tasks/LocalModUpdateTask.h b/launcher/minecraft/mod/tasks/LocalModUpdateTask.h index 2db183e0..1d2f06a6 100644 --- a/launcher/minecraft/mod/tasks/LocalModUpdateTask.h +++ b/launcher/minecraft/mod/tasks/LocalModUpdateTask.h @@ -37,6 +37,9 @@ class LocalModUpdateTask : public Task { //! Entry point for tasks. void executeTask() override; + signals: + void hasOldMod(QString name, QString filename); + private: QDir m_index_dir; ModPlatform::IndexedPack& m_mod; |