#pragma once #include #include #include struct PathPart { uint32_t crcHash; QMap children; }; class GameData; class MainWindow : public QMainWindow { public: MainWindow(GameData& data); private: void addPath(QString path); void addUnknownPath(QString knownDirectory, uint32_t crcHash); void traversePart(QList tokens, PathPart& part, QString pathSoFar); std::tuple traverseUnknownPath(uint32_t crcHash, PathPart& part, QString pathSoFar); QMap rootParts; GameData& data; void addPaths(QTreeWidget *pWidget); QTreeWidgetItem* addPartAndChildren(const QString& qString, const PathPart& part); };