From 848d7d654ed3c07fa44313bbdbd24df0ae9d0e18 Mon Sep 17 00:00:00 2001 From: Daniel Teske <daniel.teske@digia.com> Date: Thu, 21 Nov 2013 13:06:36 +0100 Subject: [PATCH] ProjectManager: Report more errors Task-number: QTCREATORBUG-10844 Change-Id: Ia89a17a5098fb1e2180b32d4c54a61f4ef5b0fbb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> --- src/plugins/projectexplorer/projectexplorer.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 0f95462d542..8200a58b30d 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1385,8 +1385,10 @@ QList<Project *> ProjectExplorerPlugin::openProjects(const QStringList &fileName } if (const MimeType mt = MimeDatabase::findByFile(QFileInfo(fileName))) { + bool foundProjectManager = false; foreach (IProjectManager *manager, projectManagers) { if (manager->mimeType() == mt.type()) { + foundProjectManager = true; QString tmp; if (Project *pro = manager->openProject(filePath, &tmp)) { if (pro->restoreSettings()) { @@ -1397,6 +1399,8 @@ QList<Project *> ProjectExplorerPlugin::openProjects(const QStringList &fileName setCurrentNode(pro->rootProjectNode()); openedPro += pro; } else { + appendError(errorString, tr("Failed opening project '%1': Settings could not be restored") + .arg(QDir::toNativeSeparators(fileName))); delete pro; } } @@ -1405,6 +1409,14 @@ QList<Project *> ProjectExplorerPlugin::openProjects(const QStringList &fileName break; } } + if (!foundProjectManager) { + appendError(errorString, tr("Failed opening project '%1': No plugin can open project type '%2'.") + .arg(QDir::toNativeSeparators(fileName)) + .arg((mt.type()))); + } + } else { + appendError(errorString, tr("Failed opening project '%1': Unknown project type.") + .arg(QDir::toNativeSeparators(fileName))); } SessionManager::reportProjectLoadingProgress(); } -- GitLab