summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/World.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2020-08-22 01:34:55 +0200
committerPetr Mrázek <peterix@gmail.com>2020-08-22 01:34:55 +0200
commit8a0027c73a755849bf5b58c1509c71a543ddb982 (patch)
treef4c87ea06b753d771015f444bc1ff68a624c782e /api/logic/minecraft/World.cpp
parentc6c9feb3a2006f0b37736799f003a0fb87f68b18 (diff)
downloadMultiMC-8a0027c73a755849bf5b58c1509c71a543ddb982.tar
MultiMC-8a0027c73a755849bf5b58c1509c71a543ddb982.tar.gz
MultiMC-8a0027c73a755849bf5b58c1509c71a543ddb982.tar.lz
MultiMC-8a0027c73a755849bf5b58c1509c71a543ddb982.tar.xz
MultiMC-8a0027c73a755849bf5b58c1509c71a543ddb982.zip
NOISSUE Add world icons and world icon reset button
Diffstat (limited to 'api/logic/minecraft/World.cpp')
-rw-r--r--api/logic/minecraft/World.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/api/logic/minecraft/World.cpp b/api/logic/minecraft/World.cpp
index 17dbf4ae..06a6080a 100644
--- a/api/logic/minecraft/World.cpp
+++ b/api/logic/minecraft/World.cpp
@@ -138,14 +138,31 @@ void World::repath(const QFileInfo &file)
m_folderName = file.fileName();
if(file.isFile() && file.suffix() == "zip")
{
+ m_iconFile = QString();
readFromZip(file);
}
else if(file.isDir())
{
+ QFileInfo assumedIconPath(file.absoluteFilePath() + "/icon.png");
+ if(assumedIconPath.exists()) {
+ m_iconFile = assumedIconPath.absoluteFilePath();
+ }
readFromFS(file);
}
}
+bool World::resetIcon()
+{
+ if(m_iconFile.isNull()) {
+ return false;
+ }
+ if(QFile(m_iconFile).remove()) {
+ m_iconFile = QString();
+ return true;
+ }
+ return false;
+}
+
void World::readFromFS(const QFileInfo &file)
{
auto bytes = getLevelDatDataFromFS(file);