diff --git a/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp b/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp index cdc806e3324..6e19e8516aa 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp @@ -29,27 +29,13 @@ #include "autotoolsproject.h" #include "autotoolsprojectconstants.h" -#include -#include -#include -#include -#include -#include - using namespace ProjectExplorer; namespace AutotoolsProjectManager { namespace Internal { -Project *AutotoolsManager::openProject(const QString &fileName, QString *errorString) +Project *AutotoolsManager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file") - .arg(fileName); - return 0; - } - return new AutotoolsProject(fileName); } diff --git a/src/plugins/autotoolsprojectmanager/autotoolsmanager.h b/src/plugins/autotoolsprojectmanager/autotoolsmanager.h index dd857811ef6..500a2599ddc 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsmanager.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsmanager.h @@ -44,7 +44,7 @@ class AutotoolsManager : public ProjectExplorer::IProjectManager Q_OBJECT public: - ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + ProjectExplorer::Project *openProject(const QString &fileName) override; QString mimeType() const override; }; diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index f7e4c22cd5e..46aaeb3347b 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -156,17 +156,9 @@ void CMakeManager::rescanProject(Project *project) cmakeProject->runCMake(); // by my experience: every rescan run requires cmake run too } -Project *CMakeManager::openProject(const QString &fileName, QString *errorString) +Project *CMakeManager::openProject(const QString &fileName) { - Utils::FileName file = Utils::FileName::fromString(fileName); - if (!file.toFileInfo().isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file") - .arg(file.toUserOutput()); - return 0; - } - - return new CMakeProject(file); + return new CMakeProject(Utils::FileName::fromString(fileName)); } QString CMakeManager::mimeType() const diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h index cd8f414a814..e8e42059ae0 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h @@ -42,7 +42,7 @@ class CMakeManager : public ProjectExplorer::IProjectManager public: CMakeManager(); - ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + ProjectExplorer::Project *openProject(const QString &fileName) override; QString mimeType() const override; private: diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.cpp b/src/plugins/genericprojectmanager/genericprojectmanager.cpp index 9e46f6c1ced..bde3d17c56b 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.cpp +++ b/src/plugins/genericprojectmanager/genericprojectmanager.cpp @@ -27,13 +27,6 @@ #include "genericprojectconstants.h" #include "genericproject.h" -#include -#include -#include -#include - -#include - namespace GenericProjectManager { namespace Internal { @@ -42,15 +35,8 @@ QString Manager::mimeType() const return QLatin1String(Constants::GENERICMIMETYPE); } -ProjectExplorer::Project *Manager::openProject(const QString &fileName, QString *errorString) +ProjectExplorer::Project *Manager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file.") - .arg(fileName); - return 0; - } - return new GenericProject(fileName); } diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.h b/src/plugins/genericprojectmanager/genericprojectmanager.h index 139739c827b..213de64644f 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.h +++ b/src/plugins/genericprojectmanager/genericprojectmanager.h @@ -38,7 +38,7 @@ class Manager : public ProjectExplorer::IProjectManager public: virtual QString mimeType() const override; - virtual ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + virtual ProjectExplorer::Project *openProject(const QString &fileName) override; void registerProject(GenericProject *project); void unregisterProject(GenericProject *project); diff --git a/src/plugins/nim/project/nimprojectmanager.cpp b/src/plugins/nim/project/nimprojectmanager.cpp index 3a529519164..3235b0f0dec 100644 --- a/src/plugins/nim/project/nimprojectmanager.cpp +++ b/src/plugins/nim/project/nimprojectmanager.cpp @@ -37,13 +37,8 @@ QString NimProjectManager::mimeType() const return QLatin1String(Constants::C_NIM_PROJECT_MIMETYPE); } -Project *NimProjectManager::openProject(const QString &fileName, QString *errorString) +Project *NimProjectManager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - *errorString = tr("Failed opening project \"%1\": Project is not a file.").arg(fileName); - return nullptr; - } - return new NimProject(fileName); } diff --git a/src/plugins/nim/project/nimprojectmanager.h b/src/plugins/nim/project/nimprojectmanager.h index 81703d16fd2..a5336e465bc 100644 --- a/src/plugins/nim/project/nimprojectmanager.h +++ b/src/plugins/nim/project/nimprojectmanager.h @@ -36,7 +36,7 @@ class NimProjectManager : public ProjectExplorer::IProjectManager public: QString mimeType() const override; - ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + ProjectExplorer::Project *openProject(const QString &fileName) override; }; } diff --git a/src/plugins/projectexplorer/iprojectmanager.h b/src/plugins/projectexplorer/iprojectmanager.h index 7d25e9ba026..ff01c83a113 100644 --- a/src/plugins/projectexplorer/iprojectmanager.h +++ b/src/plugins/projectexplorer/iprojectmanager.h @@ -39,8 +39,8 @@ class PROJECTEXPLORER_EXPORT IProjectManager : public QObject public: virtual QString mimeType() const = 0; - // fileName is a canonical path! - virtual Project *openProject(const QString &fileName, QString *errorString) = 0; + // FileName is a canonical path of a checked-to-exist file. + virtual Project *openProject(const QString &fileName) = 0; }; } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp index e9059a656a7..12e5d7556cd 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp @@ -109,7 +109,6 @@ void JsonKitsPage::setupProjectFiles(const JsonWizard::GeneratorFiles &files) foreach (const JsonWizard::GeneratorFile &f, files) { if (f.file.attributes() & GeneratedFile::OpenProjectAttribute) { - QString errorMessage; const QFileInfo fi(f.file.path()); const QString path = fi.absoluteFilePath(); @@ -119,7 +118,7 @@ void JsonKitsPage::setupProjectFiles(const JsonWizard::GeneratorFiles &files) continue; auto manager = Utils::findOrDefault(managerList, Utils::equal(&IProjectManager::mimeType, mt.name())); - project = manager ? manager->openProject(path, &errorMessage) : nullptr; + project = manager ? manager->openProject(path) : nullptr; if (project) { if (setupProject(project)) project->saveSettings(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index de3cef38551..9940afa0b35 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1707,8 +1707,10 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con foreach (IProjectManager *manager, projectManagers) { if (mt.matchesName(manager->mimeType())) { foundProjectManager = true; - QString tmp; - if (Project *pro = manager->openProject(filePath, &tmp)) { + if (!QFileInfo(filePath).isFile()) { + appendError(errorString, + tr("Failed opening project \"%1\": Project is not a file").arg(fileName)); + } else if (Project *pro = manager->openProject(filePath)) { pro->setProjectManager(manager); QObject::connect(pro, &Project::parsingFinished, [pro]() { emit SessionManager::instance()->projectFinishedParsing(pro); @@ -1726,8 +1728,6 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con delete pro; } } - if (!tmp.isEmpty()) - appendError(errorString, tmp); break; } } diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp index d66eb705ded..543113f583e 100644 --- a/src/plugins/pythoneditor/pythoneditorplugin.cpp +++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp @@ -94,7 +94,7 @@ class PythonProjectManager : public IProjectManager Q_OBJECT public: QString mimeType() const override { return QLatin1String(PythonMimeType); } - Project *openProject(const QString &fileName, QString *errorString) override; + Project *openProject(const QString &fileName) override; }; class PythonProject : public Project @@ -361,15 +361,8 @@ PythonRunConfigurationWidget::PythonRunConfigurationWidget(PythonRunConfiguratio setEnabled(runConfiguration->isEnabled()); } -Project *PythonProjectManager::openProject(const QString &fileName, QString *errorString) +Project *PythonProjectManager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file.") - .arg(fileName); - return 0; - } - return new PythonProject(fileName); } diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp index bc5f41711f9..0d2a489d697 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp @@ -105,15 +105,8 @@ QString QbsManager::mimeType() const return QLatin1String(QmlJSTools::Constants::QBS_MIMETYPE); } -ProjectExplorer::Project *QbsManager::openProject(const QString &fileName, QString *errorString) +ProjectExplorer::Project *QbsManager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file.") - .arg(fileName); - return nullptr; - } - return new QbsProject(fileName); } diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.h b/src/plugins/qbsprojectmanager/qbsprojectmanager.h index ecade37059d..fa9af9cf2ca 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.h @@ -60,7 +60,7 @@ public: ~QbsManager(); QString mimeType() const override; - ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + ProjectExplorer::Project *openProject(const QString &fileName) override; // QBS profiles management: QString profileForKit(const ProjectExplorer::Kit *k); diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp index e2563f14224..8bf477cb43b 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp @@ -74,15 +74,8 @@ QString QmakeManager::mimeType() const return QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE); } -ProjectExplorer::Project *QmakeManager::openProject(const QString &fileName, QString *errorString) +ProjectExplorer::Project *QmakeManager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file") - .arg(fileName); - return 0; - } - return new QmakeProject(this, fileName); } diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanager.h b/src/plugins/qmakeprojectmanager/qmakeprojectmanager.h index a32cb665ef7..bf472002ef6 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectmanager.h +++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanager.h @@ -53,7 +53,7 @@ public: void notifyChanged(const Utils::FileName &name); QString mimeType() const override; - ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + ProjectExplorer::Project *openProject(const QString &fileName) override; // Context information used in the slot implementations static ProjectExplorer::Node *contextNode(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp index 9af1acfcd08..b2669bf46b5 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp @@ -43,15 +43,8 @@ Manager::Manager() QString Manager::mimeType() const { return QLatin1String(Constants::QMLPROJECT_MIMETYPE); } -ProjectExplorer::Project *Manager::openProject(const QString &fileName, QString *errorString) +ProjectExplorer::Project *Manager::openProject(const QString &fileName) { - if (!QFileInfo(fileName).isFile()) { - if (errorString) - *errorString = tr("Failed opening project \"%1\": Project is not a file.") - .arg(fileName); - return 0; - } - return new QmlProject(this, Utils::FileName::fromString(fileName)); } diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.h b/src/plugins/qmlprojectmanager/qmlprojectmanager.h index 0b0038fa6b2..0d49694a75c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.h +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.h @@ -39,7 +39,7 @@ public: Manager(); QString mimeType() const override; - ProjectExplorer::Project *openProject(const QString &fileName, QString *errorString) override; + ProjectExplorer::Project *openProject(const QString &fileName) override; }; } // namespace Internal