diff options
-rw-r--r-- | qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java | 16 | ||||
-rw-r--r-- | qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java | 2 |
2 files changed, 16 insertions, 2 deletions
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java index 69c2df2665e..a6f9a7a8748 100644 --- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java +++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java @@ -11,11 +11,12 @@ package org.eclipse.cdt.qt.core; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IProjectDescription; import org.eclipse.core.resources.IProjectNature; import org.eclipse.core.runtime.CoreException; public class QtNature implements IProjectNature { - public static final String ID = "org.eclipse.cdt.qt.core.qtNature"; + private static final String ID = "org.eclipse.cdt.qt.core.qtNature"; public static boolean hasNature(IProject project) { try { @@ -26,6 +27,19 @@ public class QtNature implements IProjectNature { } } + public static void addNature(IProject project) throws CoreException { + if (project.isOpen()) { + if (hasNature(project)) + return; + + IProjectDescription desc = project.getDescription(); + String[] oldIds = desc.getNatureIds(); + String[] newIds = new String[oldIds.length + 1]; + newIds[oldIds.length] = ID; + desc.setNatureIds(newIds); + } + } + private IProject project; @Override diff --git a/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java b/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java index b2915ff738b..b06355f9e39 100644 --- a/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java +++ b/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java @@ -46,7 +46,7 @@ public class BaseQtTestCase extends BaseTestCase { fCProject = CProjectHelper.createCCProject(projectName, "bin", IPDOMManager.ID_FAST_INDEXER); fProject = fCProject.getProject(); - CProjectHelper.addNatureToProject(fProject, QtNature.ID, null); + QtNature.addNature(fProject); fIndex = CCorePlugin.getIndexManager().getIndex(fCProject); indexQObject_h(); |