diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index 2ce2af78a0d4e372b04cf2adf70b523cfbaaa92b..6c0cda7c8000308d109269582fe9085f8d0cf8f1 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -441,6 +441,11 @@ QString CMakeProject::displayName() const
     return m_projectName;
 }
 
+QString CMakeProject::id() const
+{
+    return QLatin1String("CMakeProjectManager.CMakeProject");
+}
+
 Core::IFile *CMakeProject::file() const
 {
     return m_file;
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h
index b6e54e5580b953f6b07883edb6cb97a6198e9f70..c13935a93f5d10729940671255270754da6f969f 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.h
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.h
@@ -75,6 +75,7 @@ public:
     CMakeBuildConfiguration *activeCMakeBuildConfiguration() const;
 
     virtual QString displayName() const;
+    virtual QString id() const;
     virtual Core::IFile *file() const;
     virtual ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
     virtual CMakeManager *projectManager() const;
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index f1973e8143862ace2ca823e24b071685467be229..52cf41a021db1f2e0b4ee3992b3f0c760055ab19 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -377,6 +377,11 @@ QString GenericProject::displayName() const
     return m_projectName;
 }
 
+QString GenericProject::id() const
+{
+    return QLatin1String("GenericProjectManager.GenericProject");
+}
+
 Core::IFile *GenericProject::file() const
 {
     return m_file;
diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h
index 46798ea70307b3c4b92c773454fbac84287b3f59..3d5aad2adaa08c60b3a533cb39ae00290783fca1 100644
--- a/src/plugins/genericprojectmanager/genericproject.h
+++ b/src/plugins/genericprojectmanager/genericproject.h
@@ -70,6 +70,7 @@ public:
     QString configFileName() const;
 
     virtual QString displayName() const;
+    virtual QString id() const;
     virtual Core::IFile *file() const;
     virtual ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
     virtual ProjectExplorer::IProjectManager *projectManager() const;
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 2f18c82cb21f35dc3c0fb9926d43d73fa6af7f2d..eb9d29520bb30be5fd6bc18fe0a9cd154e2377ea 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -74,6 +74,7 @@ public:
     virtual ~Project();
 
     virtual QString displayName() const = 0;
+    virtual QString id() const = 0;
     virtual Core::IFile *file() const = 0;
     virtual IProjectManager *projectManager() const = 0;
 
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 4e6cfea0ae73fe59eb2370f7d6c2e4f1b11f5ad5..fd3d4d32e2bf2c1c9512868c3dcb57740c2a3030 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -226,6 +226,11 @@ QString QmlProject::displayName() const
     return m_projectName;
 }
 
+QString QmlProject::id() const
+{
+    return QLatin1String("QmlProjectManager.QmlProject");
+}
+
 Core::IFile *QmlProject::file() const
 {
     return m_file;
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index c011dc2484c9cb108d14747043e3cfc625f60c5c..f73993b601fcf701e5bade536a0b9f0c463aa093 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -159,6 +159,7 @@ public:
     QString filesFileName() const;
 
     virtual QString displayName() const;
+    virtual QString id() const;
     virtual Core::IFile *file() const;
     virtual Internal::Manager *projectManager() const;
     virtual ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 3741edfe5942d6c4ae52144e16917cc5bd3c882d..6ce3fe962ce1f205c8d09e2a0bb226f527d75567 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -727,6 +727,11 @@ QString Qt4Project::displayName() const
     return QFileInfo(file()->fileName()).completeBaseName();
 }
 
+QString Qt4Project::id() const
+{
+    return QLatin1String("Qt4ProjectManager.Qt4Project");
+}
+
 Core::IFile *Qt4Project::file() const
 {
     return m_fileInfo;
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index cf32219405aaa69965f59f723a50a5c8174f81c2..f7070fbffd3a070d94d55c4d9ac8894a2763f858 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -144,6 +144,7 @@ public:
     Internal::Qt4BuildConfiguration *activeQt4BuildConfiguration() const;
 
     QString displayName() const;
+    QString id() const;
     Core::IFile *file() const;
     ProjectExplorer::IProjectManager *projectManager() const;
     Qt4Manager *qt4ProjectManager() const;