Make the FTB packs a set instead of a list.
This commit is contained in:
		| @@ -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 dir = QDir(MMC->settings()->get("FTBLauncherDataRoot").toString()); | ||||||
| 	QDir dataDir = QDir(MMC->settings()->get("FTBRoot").toString()); | 	QDir dataDir = QDir(MMC->settings()->get("FTBRoot").toString()); | ||||||
| 	if (!dataDir.exists()) | 	if (!dataDir.exists()) | ||||||
| @@ -333,7 +333,7 @@ QList<FTBRecord> InstanceList::discoverFTBInstances() | |||||||
| 					record.logo = attrs.value("logo").toString(); | 					record.logo = attrs.value("logo").toString(); | ||||||
| 					record.mcVersion = attrs.value("mcVersion").toString(); | 					record.mcVersion = attrs.value("mcVersion").toString(); | ||||||
| 					record.description = attrs.value("description").toString(); | 					record.description = attrs.value("description").toString(); | ||||||
| 					records.append(record); | 					records.insert(record); | ||||||
| 				} | 				} | ||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
|   | |||||||
| @@ -36,14 +36,23 @@ struct FTBRecord | |||||||
| 	QString description; | 	QString description; | ||||||
| 	QString instanceDir; | 	QString instanceDir; | ||||||
| 	QString templateDir; | 	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 | class InstanceList : public QAbstractListModel | ||||||
| { | { | ||||||
| 	Q_OBJECT | 	Q_OBJECT | ||||||
| private: | private: | ||||||
| 	void loadGroupList(QMap<QString, QString> &groupList); | 	void loadGroupList(QMap<QString, QString> &groupList); | ||||||
| 	QList<FTBRecord> discoverFTBInstances(); | 	QSet<FTBRecord> discoverFTBInstances(); | ||||||
| 	void loadFTBInstances(QMap<QString, QString> &groupMap, QList<InstancePtr> & tempList); | 	void loadFTBInstances(QMap<QString, QString> &groupMap, QList<InstancePtr> & tempList); | ||||||
|  |  | ||||||
| private | private | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Petr Mrázek
					Petr Mrázek