diff options
Diffstat (limited to 'logic/lists')
-rw-r--r-- | logic/lists/InstanceList.cpp | 7 | ||||
-rw-r--r-- | logic/lists/InstanceList.h | 3 |
2 files changed, 9 insertions, 1 deletions
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: |