summaryrefslogtreecommitdiffstats
path: root/logic
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-12-14 14:00:23 +0100
committerPetr Mrázek <peterix@gmail.com>2013-12-14 14:00:23 +0100
commit8f856f55732e6427e9b4994343b01f9ac0e0daee (patch)
tree09ca49c42d53ed4510d0aa7231bdb2cdad0be459 /logic
parent4623aa44f58575b6d2ceb0b047945ffeb0081f65 (diff)
parent1167a66ac89d1510fbb522544e9733cc086f35eb (diff)
downloadMultiMC-8f856f55732e6427e9b4994343b01f9ac0e0daee.tar
MultiMC-8f856f55732e6427e9b4994343b01f9ac0e0daee.tar.gz
MultiMC-8f856f55732e6427e9b4994343b01f9ac0e0daee.tar.lz
MultiMC-8f856f55732e6427e9b4994343b01f9ac0e0daee.tar.xz
MultiMC-8f856f55732e6427e9b4994343b01f9ac0e0daee.zip
Merge branch 'testing' of https://github.com/02JanDal/MultiMC5 into develop
Conflicts: MultiMC.cpp
Diffstat (limited to 'logic')
-rw-r--r--logic/auth/MojangAccountList.cpp11
-rw-r--r--logic/lists/InstanceList.cpp7
-rw-r--r--logic/lists/InstanceList.h3
3 files changed, 20 insertions, 1 deletions
diff --git a/logic/auth/MojangAccountList.cpp b/logic/auth/MojangAccountList.cpp
index 841552f5..33990662 100644
--- a/logic/auth/MojangAccountList.cpp
+++ b/logic/auth/MojangAccountList.cpp
@@ -22,6 +22,7 @@
#include <QJsonArray>
#include <QJsonObject>
#include <QJsonParseError>
+#include <QDir>
#include "logger/QsLog.h"
@@ -264,6 +265,11 @@ bool MojangAccountList::loadList(const QString &filePath)
return false;
}
+ if (!QDir::current().exists(path))
+ {
+ QDir::current().mkpath(path);
+ }
+
QFile file(path);
// Try to open the file and fail if we can't.
@@ -345,6 +351,11 @@ bool MojangAccountList::saveList(const QString &filePath)
return false;
}
+ if (!QDir::current().exists(path))
+ {
+ QDir::current().mkpath(path);
+ }
+
QLOG_INFO() << "Writing account list to" << path;
QLOG_DEBUG() << "Building JSON data structure.";
diff --git a/logic/lists/InstanceList.cpp b/logic/lists/InstanceList.cpp
index b9595578..94481fb9 100644
--- a/logic/lists/InstanceList.cpp
+++ b/logic/lists/InstanceList.cpp
@@ -36,11 +36,16 @@ const static int GROUP_FILE_FORMAT_VERSION = 1;
InstanceList::InstanceList(const QString &instDir, QObject *parent)
: QAbstractListModel(parent), m_instDir(instDir)
{
+ connect(MMC, &MultiMC::aboutToQuit, this, &InstanceList::saveGroupList);
+
+ if (!QDir::current().exists(m_instDir))
+ {
+ QDir::current().mkpath(m_instDir);
+ }
}
InstanceList::~InstanceList()
{
- saveGroupList();
}
int InstanceList::rowCount(const QModelIndex &parent) const
diff --git a/logic/lists/InstanceList.h b/logic/lists/InstanceList.h
index 8cd39746..c3bb74cd 100644
--- a/logic/lists/InstanceList.h
+++ b/logic/lists/InstanceList.h
@@ -29,6 +29,9 @@ class InstanceList : public QAbstractListModel
Q_OBJECT
private:
void loadGroupList(QMap<QString, QString> &groupList);
+
+private
+slots:
void saveGroupList();
public: