change: allow deleting mods while preserving their metadata
Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
parent
032ceefa1d
commit
43b9db6e45
@ -162,13 +162,14 @@ void Mod::setMetadata(Metadata::ModStruct* metadata)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto Mod::destroy(QDir& index_dir) -> bool
|
auto Mod::destroy(QDir& index_dir, bool preserve_metadata) -> bool
|
||||||
{
|
{
|
||||||
auto n = name();
|
auto n = name();
|
||||||
// FIXME: This can fail to remove the metadata if the
|
// FIXME: This can fail to remove the metadata if the
|
||||||
// "ModMetadataDisabled" setting is on, since there could
|
// "ModMetadataDisabled" setting is on, since there could
|
||||||
// be a name mismatch!
|
// be a name mismatch!
|
||||||
Metadata::remove(index_dir, n);
|
if(!preserve_metadata)
|
||||||
|
Metadata::remove(index_dir, n);
|
||||||
|
|
||||||
m_type = MOD_UNKNOWN;
|
m_type = MOD_UNKNOWN;
|
||||||
return FS::deletePath(m_file.filePath());
|
return FS::deletePath(m_file.filePath());
|
||||||
|
@ -82,7 +82,7 @@ public:
|
|||||||
auto enable(bool value) -> bool;
|
auto enable(bool value) -> bool;
|
||||||
|
|
||||||
// delete all the files of this mod
|
// delete all the files of this mod
|
||||||
auto destroy(QDir& index_dir) -> bool;
|
auto destroy(QDir& index_dir, bool preserve_metadata = false) -> bool;
|
||||||
|
|
||||||
// change the mod's filesystem path (used by mod lists for *MAGIC* purposes)
|
// change the mod's filesystem path (used by mod lists for *MAGIC* purposes)
|
||||||
void repath(const QFileInfo &file);
|
void repath(const QFileInfo &file);
|
||||||
|
Loading…
Reference in New Issue
Block a user