Core: Use FilePath on findDocumentFactory

Change-Id: I0308379c89f49051e8f6e753a91d756a758c5765
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-07-23 10:39:58 +02:00
parent 906cfb060b
commit 16e8cc7748

View File

@@ -856,9 +856,9 @@ void MainWindow::openFile()
}
static IDocumentFactory *findDocumentFactory(const QList<IDocumentFactory*> &fileFactories,
const QFileInfo &fi)
const FilePath &filePath)
{
const QString typeName = Utils::mimeTypeForFile(fi).name();
const QString typeName = Utils::mimeTypeForFile(filePath).name();
return Utils::findOrDefault(fileFactories, [typeName](IDocumentFactory *f) {
return f->mimeTypes().contains(typeName);
});
@@ -891,7 +891,7 @@ IDocument *MainWindow::openFiles(const FilePaths &filePaths,
const QDir workingDir(workingDirectory.isEmpty() ? QDir::currentPath() : workingDirectory);
const QFileInfo fi(workingDir, fileName);
const QString absoluteFilePath = fi.absoluteFilePath();
if (IDocumentFactory *documentFactory = findDocumentFactory(documentFactories, fi)) {
if (IDocumentFactory *documentFactory = findDocumentFactory(documentFactories, filePath)) {
IDocument *document = documentFactory->open(absoluteFilePath);
if (!document) {
if (flags & ICore::StopOnLoadFail)