summaryrefslogtreecommitdiffstats
path: root/logic
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-07-08 08:42:48 +0200
committerPetr Mrázek <peterix@gmail.com>2014-07-08 08:42:48 +0200
commit9b3ae29a361b4d89897c34750ea170d4433b93be (patch)
tree8918f9ec0bd051e234ccbc822ebd001e1bc2f084 /logic
parent19278c853b8ee940240e14e9d9c7cbe52cb760af (diff)
downloadMultiMC-9b3ae29a361b4d89897c34750ea170d4433b93be.tar
MultiMC-9b3ae29a361b4d89897c34750ea170d4433b93be.tar.gz
MultiMC-9b3ae29a361b4d89897c34750ea170d4433b93be.tar.lz
MultiMC-9b3ae29a361b4d89897c34750ea170d4433b93be.tar.xz
MultiMC-9b3ae29a361b4d89897c34750ea170d4433b93be.zip
Make the FTB packs a set instead of a list.
Diffstat (limited to 'logic')
-rw-r--r--logic/InstanceList.cpp6
-rw-r--r--logic/InstanceList.h11
2 files changed, 13 insertions, 4 deletions
diff --git a/logic/InstanceList.cpp b/logic/InstanceList.cpp
index 5a988fd3..8a68c334 100644
--- a/logic/InstanceList.cpp
+++ b/logic/InstanceList.cpp
@@ -283,9 +283,9 @@ void InstanceList::loadGroupList(QMap<QString, QString> &groupMap)
}
}
-QList<FTBRecord> InstanceList::discoverFTBInstances()
+QSet<FTBRecord> InstanceList::discoverFTBInstances()
{
- QList<FTBRecord> records;
+ QSet<FTBRecord> records;
QDir dir = QDir(MMC->settings()->get("FTBLauncherDataRoot").toString());
QDir dataDir = QDir(MMC->settings()->get("FTBRoot").toString());
if (!dataDir.exists())
@@ -333,7 +333,7 @@ QList<FTBRecord> InstanceList::discoverFTBInstances()
record.logo = attrs.value("logo").toString();
record.mcVersion = attrs.value("mcVersion").toString();
record.description = attrs.value("description").toString();
- records.append(record);
+ records.insert(record);
}
break;
}
diff --git a/logic/InstanceList.h b/logic/InstanceList.h
index f0bbb7ec..b88a080e 100644
--- a/logic/InstanceList.h
+++ b/logic/InstanceList.h
@@ -36,14 +36,23 @@ struct FTBRecord
QString description;
QString instanceDir;
QString templateDir;
+ bool operator ==(const FTBRecord other) const
+ {
+ return instanceDir == other.instanceDir;
+ }
};
+inline uint qHash(FTBRecord record)
+{
+ return qHash(record.instanceDir);
+}
+
class InstanceList : public QAbstractListModel
{
Q_OBJECT
private:
void loadGroupList(QMap<QString, QString> &groupList);
- QList<FTBRecord> discoverFTBInstances();
+ QSet<FTBRecord> discoverFTBInstances();
void loadFTBInstances(QMap<QString, QString> &groupMap, QList<InstancePtr> & tempList);
private