diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-10-28 20:55:12 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-10-28 20:55:12 +0100 |
commit | 6ecb833dbf4c4930c8354dcce7967ad44c16c217 (patch) | |
tree | 268120b4b8f7716b6468a655909e1db210dfe3dc /logic/lists/InstanceList.cpp | |
parent | 923347729557eed76e4f7e9f6f5f1a79216de0a4 (diff) | |
download | PrismLauncher-6ecb833dbf4c4930c8354dcce7967ad44c16c217.tar.gz PrismLauncher-6ecb833dbf4c4930c8354dcce7967ad44c16c217.tar.bz2 PrismLauncher-6ecb833dbf4c4930c8354dcce7967ad44c16c217.zip |
Fix problem with instance list not using the instance folder path
Diffstat (limited to 'logic/lists/InstanceList.cpp')
-rw-r--r-- | logic/lists/InstanceList.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/logic/lists/InstanceList.cpp b/logic/lists/InstanceList.cpp index 9740d5a5..08985a19 100644 --- a/logic/lists/InstanceList.cpp +++ b/logic/lists/InstanceList.cpp @@ -34,7 +34,7 @@ const static int GROUP_FILE_FORMAT_VERSION = 1; InstanceList::InstanceList(const QString &instDir, QObject *parent) - : QAbstractListModel(parent), m_instDir("instances") + : QAbstractListModel(parent), m_instDir(instDir) { } @@ -196,8 +196,8 @@ void InstanceList::loadGroupList(QMap<QString, QString> &groupMap) if (error.error != QJsonParseError::NoError) { QLOG_ERROR() << QString("Failed to parse instance group file: %1 at offset %2") - .arg(error.errorString(), QString::number(error.offset)) - .toUtf8(); + .arg(error.errorString(), QString::number(error.offset)) + .toUtf8(); return; } @@ -269,7 +269,8 @@ InstanceList::InstListError InstanceList::loadList() m_instances.clear(); QDir dir(m_instDir); - QDirIterator iter(dir); + QDirIterator iter(m_instDir, QDir::Dirs | QDir::NoDot | QDir::NoDotDot | QDir::Readable, + QDirIterator::FollowSymlinks); while (iter.hasNext()) { QString subDir = iter.next(); @@ -340,7 +341,12 @@ void InstanceList::clear() endResetModel(); emit dataIsInvalid(); } -; + +void InstanceList::on_InstFolderChanged(const Setting &setting, QVariant value) +{ + m_instDir = value.toString(); + loadList(); +} /// Add an instance. Triggers notifications, returns the new index int InstanceList::add(InstancePtr t) |