forked from qt-creator/qt-creator
Core: Use FilePath for working dir in MainWindow::openFiles()
Change-Id: Ifc8e167a1734115fa7a23f7aefa45fc52e4a70cc Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -973,20 +973,20 @@ static IDocumentFactory *findDocumentFactory(const QList<IDocumentFactory*> &fil
|
||||
*/
|
||||
IDocument *MainWindow::openFiles(const FilePaths &filePaths,
|
||||
ICore::OpenFilesFlags flags,
|
||||
const QString &workingDirectory)
|
||||
const FilePath &workingDirectory)
|
||||
{
|
||||
const QList<IDocumentFactory*> 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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user