From 8e62881b12d9748624a6f9c61fd40235a248de83 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 18 Sep 2017 12:30:56 +0200 Subject: [PATCH] Make DocumentManager::projectsDirectory a FileName Change-Id: I9454c2148c398939c64bfa6b1fc182670a1d5f99 Reviewed-by: Tobias Hunger --- src/plugins/coreplugin/coreplugin.cpp | 2 +- src/plugins/coreplugin/documentmanager.cpp | 20 +++++++++---------- src/plugins/coreplugin/documentmanager.h | 4 ++-- src/plugins/coreplugin/iwizardfactory.cpp | 7 ++++--- src/plugins/git/gerrit/gerritplugin.cpp | 2 +- .../baseprojectwizarddialog.cpp | 3 ++- .../jsonwizard/jsonprojectpage.cpp | 3 ++- .../projectexplorer/projectexplorer.cpp | 4 +++- .../projectexplorersettingspage.cpp | 5 +++-- .../qtsupport/gettingstartedwelcomepage.cpp | 2 +- 10 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index e21237b5a9f..b644906cd79 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -184,7 +184,7 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage) expander->registerVariable("CurrentTime:Locale", tr("The current time (Locale)."), []() { return QTime::currentTime().toString(Qt::DefaultLocaleShortDate); }); expander->registerVariable("Config:DefaultProjectDirectory", tr("The configured default directory for projects."), - []() { return DocumentManager::projectsDirectory(); }); + []() { return DocumentManager::projectsDirectory().toString(); }); expander->registerVariable("Config:LastFileDialogDirectory", tr("The directory last visited in a file dialog."), []() { return DocumentManager::fileDialogLastVisitedDirectory(); }); expander->registerVariable("HostOs:isWindows", diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index 44f20f9e98f..c4744e75931 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -159,7 +159,7 @@ public: bool m_checkOnFocusChange = false; QString m_lastVisitedDirectory; QString m_defaultLocationForNewFiles; - QString m_projectsDirectory; + FileName m_projectsDirectory; bool m_useProjectsDirectory; QString m_buildDirectory; // When we are calling into an IDocument @@ -238,7 +238,7 @@ DocumentManager::DocumentManager(QObject *parent) readSettings(); if (d->m_useProjectsDirectory) - setFileDialogLastVisitedDirectory(d->m_projectsDirectory); + setFileDialogLastVisitedDirectory(d->m_projectsDirectory.toString()); } DocumentManager::~DocumentManager() @@ -1260,7 +1260,7 @@ void DocumentManager::saveSettings() s->setValue(QLatin1String(editorsKeyC), recentEditorIds); s->endGroup(); s->beginGroup(QLatin1String(directoryGroupC)); - s->setValue(QLatin1String(projectDirectoryKeyC), d->m_projectsDirectory); + s->setValue(QLatin1String(projectDirectoryKeyC), d->m_projectsDirectory.toString()); s->setValue(QLatin1String(useProjectDirectoryKeyC), d->m_useProjectsDirectory); s->setValue(QLatin1String(buildDirectoryKeyC), d->m_buildDirectory); s->endGroup(); @@ -1286,12 +1286,12 @@ void readSettings() } s->beginGroup(QLatin1String(directoryGroupC)); - const QString settingsProjectDir = s->value(QLatin1String(projectDirectoryKeyC), - QString()).toString(); - if (!settingsProjectDir.isEmpty() && QFileInfo(settingsProjectDir).isDir()) + const FileName settingsProjectDir = FileName::fromString(s->value(QLatin1String(projectDirectoryKeyC), + QString()).toString()); + if (!settingsProjectDir.isEmpty() && settingsProjectDir.toFileInfo().isDir()) d->m_projectsDirectory = settingsProjectDir; else - d->m_projectsDirectory = PathChooser::homePath(); + d->m_projectsDirectory = FileName::fromString(PathChooser::homePath()); d->m_useProjectsDirectory = s->value(QLatin1String(useProjectDirectoryKeyC), d->m_useProjectsDirectory).toBool(); @@ -1351,7 +1351,7 @@ void DocumentManager::setDefaultLocationForNewFiles(const QString &location) \sa setProjectsDirectory, setUseProjectsDirectory */ -QString DocumentManager::projectsDirectory() +FileName DocumentManager::projectsDirectory() { return d->m_projectsDirectory; } @@ -1363,9 +1363,9 @@ QString DocumentManager::projectsDirectory() \sa projectsDirectory, useProjectsDirectory */ -void DocumentManager::setProjectsDirectory(const QString &dir) +void DocumentManager::setProjectsDirectory(const FileName &directory) { - d->m_projectsDirectory = dir; + d->m_projectsDirectory = directory; } /*! diff --git a/src/plugins/coreplugin/documentmanager.h b/src/plugins/coreplugin/documentmanager.h index 448f091e80d..d8a243ea6f6 100644 --- a/src/plugins/coreplugin/documentmanager.h +++ b/src/plugins/coreplugin/documentmanager.h @@ -128,8 +128,8 @@ public: static bool useProjectsDirectory(); static void setUseProjectsDirectory(bool); - static QString projectsDirectory(); - static void setProjectsDirectory(const QString &); + static Utils::FileName projectsDirectory(); + static void setProjectsDirectory(const Utils::FileName &directory); static QString buildDirectory(); static void setBuildDirectory(const QString &directory); diff --git a/src/plugins/coreplugin/iwizardfactory.cpp b/src/plugins/coreplugin/iwizardfactory.cpp index bce8c7cd3f4..8e8afc304fa 100644 --- a/src/plugins/coreplugin/iwizardfactory.cpp +++ b/src/plugins/coreplugin/iwizardfactory.cpp @@ -33,6 +33,7 @@ #include #include +#include #include #include @@ -255,9 +256,9 @@ QString IWizardFactory::runPath(const QString &defaultPath) // Project wizards: Check for projects directory or // use last visited directory of file dialog. Never start // at current. - path = DocumentManager::useProjectsDirectory() ? - DocumentManager::projectsDirectory() : - DocumentManager::fileDialogLastVisitedDirectory(); + path = DocumentManager::useProjectsDirectory() + ? DocumentManager::projectsDirectory().toString() + : DocumentManager::fileDialogLastVisitedDirectory(); break; default: path = DocumentManager::fileDialogInitialDirectory(); diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index b9f4fca2015..5e088aa5a8b 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -520,7 +520,7 @@ QString GerritPlugin::findLocalRepository(QString project, const QString &branch } // for repositories // No match, do we have a projects folder? if (DocumentManager::useProjectsDirectory()) - return DocumentManager::projectsDirectory(); + return DocumentManager::projectsDirectory().toString(); return QDir::currentPath(); } diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp index 2d7a9588f83..61a66a12060 100644 --- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp +++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp @@ -26,6 +26,7 @@ #include "baseprojectwizarddialog.h" #include +#include #include #include @@ -144,7 +145,7 @@ void BaseProjectWizardDialog::slotAccepted() { if (d->introPage->useAsDefaultPath()) { // Store the path as default path for new projects if desired. - Core::DocumentManager::setProjectsDirectory(path()); + Core::DocumentManager::setProjectsDirectory(Utils::FileName::fromString(path())); Core::DocumentManager::setUseProjectsDirectory(true); } } diff --git a/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp index b23b000d30e..45f332a2def 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonprojectpage.cpp @@ -28,6 +28,7 @@ #include +#include #include #include @@ -51,7 +52,7 @@ bool JsonProjectPage::validatePage() { if (isComplete() && useAsDefaultPath()) { // Store the path as default path for new projects if desired. - Core::DocumentManager::setProjectsDirectory(path()); + Core::DocumentManager::setProjectsDirectory(Utils::FileName::fromString(path())); Core::DocumentManager::setUseProjectsDirectory(true); } diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 7ad5d9a3a33..2b27328ddbf 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -3545,7 +3545,9 @@ QStringList ProjectExplorerPlugin::projectFilePatterns() void ProjectExplorerPlugin::openOpenProjectDialog() { - const QString path = DocumentManager::useProjectsDirectory() ? DocumentManager::projectsDirectory() : QString(); + const QString path = DocumentManager::useProjectsDirectory() + ? DocumentManager::projectsDirectory().toString() + : QString(); const QStringList files = DocumentManager::getOpenFileNames(dd->m_projectFilterString, path); if (!files.isEmpty()) ICore::openFiles(files, ICore::SwitchMode); diff --git a/src/plugins/projectexplorer/projectexplorersettingspage.cpp b/src/plugins/projectexplorer/projectexplorersettingspage.cpp index 35496776429..9d7f8b1c8b1 100644 --- a/src/plugins/projectexplorer/projectexplorersettingspage.cpp +++ b/src/plugins/projectexplorer/projectexplorersettingspage.cpp @@ -198,7 +198,7 @@ QWidget *ProjectExplorerSettingsPage::widget() if (!m_widget) { m_widget = new ProjectExplorerSettingsWidget; m_widget->setSettings(ProjectExplorerPlugin::projectExplorerSettings()); - m_widget->setProjectsDirectory(Core::DocumentManager::projectsDirectory()); + m_widget->setProjectsDirectory(Core::DocumentManager::projectsDirectory().toString()); m_widget->setUseProjectsDirectory(Core::DocumentManager::useProjectsDirectory()); m_widget->setBuildDirectory(Core::DocumentManager::buildDirectory()); } @@ -209,7 +209,8 @@ void ProjectExplorerSettingsPage::apply() { if (m_widget) { ProjectExplorerPlugin::setProjectExplorerSettings(m_widget->settings()); - Core::DocumentManager::setProjectsDirectory(m_widget->projectsDirectory()); + Core::DocumentManager::setProjectsDirectory( + Utils::FileName::fromString(m_widget->projectsDirectory())); Core::DocumentManager::setUseProjectsDirectory(m_widget->useProjectsDirectory()); Core::DocumentManager::setBuildDirectory(m_widget->buildDirectory()); } diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index c5ca314c05a..a5f40194753 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -124,7 +124,7 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI chooser->setHistoryCompleter(QLatin1String("Qt.WritableExamplesDir.History")); QSettings *settings = ICore::settings(); chooser->setPath(settings->value(QString::fromLatin1(C_FALLBACK_ROOT), - DocumentManager::projectsDirectory()).toString()); + DocumentManager::projectsDirectory().toString()).toString()); lay->addWidget(txt, 1, 0); lay->addWidget(chooser, 1, 1); enum { Copy = QDialog::Accepted + 1, Keep = QDialog::Accepted + 2 };