diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index bd5a65cc97b..3cb41fa1b51 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -309,7 +309,7 @@ QObject *CorePlugin::remoteCommand(const QStringList & /* options */, IDocument *res = MainWindow::openFiles( filePaths, ICore::OpenFilesFlags(ICore::SwitchMode | ICore::CanContainLineAndColumnNumbers | ICore::SwitchSplitIfAlreadyVisible), - workingDirectory); + FilePath::fromString(workingDirectory)); m_mainWindow->raiseWindow(); return res; } diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 9c63e36e708..ee9bffe3a94 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -973,20 +973,20 @@ static IDocumentFactory *findDocumentFactory(const QList &fil */ IDocument *MainWindow::openFiles(const FilePaths &filePaths, ICore::OpenFilesFlags flags, - const QString &workingDirectory) + const FilePath &workingDirectory) { const QList documentFactories = IDocumentFactory::allDocumentFactories(); IDocument *res = nullptr; - const QString workingDirBase = workingDirectory.isEmpty() ? QDir::currentPath() : workingDirectory; + const FilePath workingDirBase = + workingDirectory.isEmpty() ? FilePath::currentWorkingPath() : workingDirectory; for (const FilePath &filePath : filePaths) { - const FilePath workingDir = filePath.withNewPath(workingDirBase); FilePath absoluteFilePath; if (filePath.isAbsolutePath()) { absoluteFilePath = filePath; } else { QTC_CHECK(!filePath.needsDevice()); - absoluteFilePath = FilePath::fromString(workingDirBase).resolvePath(filePath.path()); + absoluteFilePath = workingDirBase.resolvePath(filePath.path()); } if (IDocumentFactory *documentFactory = findDocumentFactory(documentFactories, filePath)) { IDocument *document = documentFactory->open(absoluteFilePath); diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h index 7266cbb0372..0eacd9b436d 100644 --- a/src/plugins/coreplugin/mainwindow.h +++ b/src/plugins/coreplugin/mainwindow.h @@ -70,7 +70,7 @@ public: static IDocument *openFiles(const Utils::FilePaths &filePaths, ICore::OpenFilesFlags flags, - const QString &workingDirectory = QString()); + const Utils::FilePath &workingDirectory = {}); inline SettingsDatabase *settingsDatabase() const { return m_settingsDatabase; } virtual QPrinter *printer() const;