Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java16
-rw-r--r--qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java2
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();

Back to the top