23 #include "pathfinder.h"
25 #include "configuration/doomseekerconfig.h"
26 #include "pathfinder/caseinsensitivefsfileseeker.h"
27 #include "pathfinder/casesensitivefsfileseeker.h"
28 #include "pathfinder/filesearchpath.h"
35 DClass<PathFinderResult>
38 QStringList foundFiles;
39 QStringList missingFiles;
50 PathFinderResult::~PathFinderResult()
66 return d->missingFiles;
71 return d->missingFiles;
79 QList<FileSearchPath> searchPaths;
88 d->searchPaths = gConfig.doomseeker.wadPaths;
89 d->searchPaths << gConfig.wadseeker.targetDirectory;
94 foreach (
const QString& path, paths)
96 d->searchPaths << path;
100 PathFinder::~PathFinder()
106 QFileInfo fileInfo(dir);
107 if(fileInfo.isSymLink())
108 fileInfo = QFileInfo(fileInfo.symLinkTarget());
111 if(fileInfo.isBundle())
112 d->searchPaths.prepend(fileInfo.absoluteFilePath() +
"/Contents/MacOS");
115 if(fileInfo.isFile())
116 d->searchPaths.prepend(fileInfo.absoluteDir().absolutePath());
118 d->searchPaths.prepend(fileInfo.absoluteFilePath());
124 if (d->searchPaths.count() == 0)
135 QString result = seeker->findFile(fileName, d->searchPaths);
143 foreach(
const QString file, files)
146 if (filePath.isNull())
Result of multiple file search operation done by PathFinder.
Performs a case-insensitive (OS independent) file searches.
QStringList & missingFiles()
Names of not found files.
QStringList & foundFiles()
Paths to found files.
PathFinderResult findFiles(const QStringList &files) const
Performs a search for multiple files, marking them as found or missing.
PathFinder()
Constructs PathFinder where paths are read from program configuration.
QString findFile(const QString &fileName) const
Performs a search for a single file.
For case-sensitive file systems (like ext).
void addPrioritySearchDir(const QString &dir)
For case-insensitive file systems (like NTFS).