diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index fee2f80c536..9b7cc4eedeb 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -229,6 +229,9 @@ DocumentManager::DocumentManager(QObject *parent) qApp->installEventFilter(this); readSettings(); + + if (d->m_useProjectsDirectory) + setFileDialogLastVisitedDirectory(d->m_projectsDirectory); } DocumentManager::~DocumentManager() @@ -886,13 +889,7 @@ QStringList DocumentManager::getOpenFileNames(const QString &filters, const QString &pathIn, QString *selectedFilter) { - QString path = pathIn; - if (path.isEmpty()) { - if (EditorManager::currentDocument() && !EditorManager::currentDocument()->isTemporary()) - path = EditorManager::currentDocument()->filePath().toString(); - if (path.isEmpty() && useProjectsDirectory()) - path = projectsDirectory(); - } + const QString &path = pathIn.isEmpty() ? fileDialogInitialDirectory() : pathIn; const QStringList files = QFileDialog::getOpenFileNames(ICore::dialogParent(), tr("Open File"), path, filters, diff --git a/src/plugins/coreplugin/locator/filesystemfilter.cpp b/src/plugins/coreplugin/locator/filesystemfilter.cpp index 91f5bd0f19a..4b9516de53e 100644 --- a/src/plugins/coreplugin/locator/filesystemfilter.cpp +++ b/src/plugins/coreplugin/locator/filesystemfilter.cpp @@ -26,6 +26,7 @@ #include "filesystemfilter.h" #include "locatorwidget.h" #include +#include #include #include #include @@ -63,13 +64,7 @@ FileSystemFilter::FileSystemFilter(LocatorWidget *locatorWidget) void FileSystemFilter::prepareSearch(const QString &entry) { Q_UNUSED(entry) - IDocument *document= EditorManager::currentDocument(); - if (document && !document->filePath().isEmpty()) { - const QFileInfo info = document->filePath().toFileInfo(); - m_currentDocumentDirectory = info.absolutePath() + QLatin1Char('/'); - } else { - m_currentDocumentDirectory.clear(); - } + m_currentDocumentDirectory = DocumentManager::fileDialogInitialDirectory(); } QList FileSystemFilter::matchesFor(QFutureInterface &future,