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