#155405 - python module added from python project node goes to top-level project directory
1.1 --- a/python.project/src/org/netbeans/modules/python/project/PythonLogicalView.java Sun Sep 13 11:47:42 2015 +0200
1.2 +++ b/python.project/src/org/netbeans/modules/python/project/PythonLogicalView.java Mon Sep 14 20:32:18 2015 +0200
1.3 @@ -85,7 +85,8 @@
1.4
1.5 public PythonProjectNode() {
1.6 super(NodeFactorySupport.createCompositeChildren(project, "Projects/org-netbeans-modules-python-project/Nodes"),
1.7 - Lookups.singleton(project));
1.8 + project.sourceRoots.getRoots().length > 0 ? Lookups.fixed(project, project.sourceRoots.getRoots()[0]) :
1.9 + Lookups.singleton(project));
1.10 setIconBaseWithExtension("org/netbeans/modules/python/project/resources/py_25_16.png");
1.11 super.setName(ProjectUtils.getInformation(project).getDisplayName());
1.12 }
2.1 --- a/python.project2/src/org/netbeans/modules/python/project2/PythonProject2.java Sun Sep 13 11:47:42 2015 +0200
2.2 +++ b/python.project2/src/org/netbeans/modules/python/project2/PythonProject2.java Mon Sep 14 20:32:18 2015 +0200
2.3 @@ -24,7 +24,9 @@
2.4 import org.netbeans.spi.project.AuxiliaryConfiguration;
2.5 import org.netbeans.spi.project.ProjectState;
2.6 import org.netbeans.spi.project.ui.LogicalViewProvider;
2.7 +import org.netbeans.spi.project.ui.PrivilegedTemplates;
2.8 import org.netbeans.spi.project.ui.ProjectOpenedHook;
2.9 +import org.netbeans.spi.project.ui.RecommendedTemplates;
2.10 import org.openide.filesystems.FileAttributeEvent;
2.11 import org.openide.filesystems.FileChangeListener;
2.12 import org.openide.filesystems.FileEvent;
2.13 @@ -114,10 +116,11 @@
2.14 // new PythonPlatformProvider(getEvaluator()),
2.15 new PythonCoverageProvider(this),
2.16 new PythonProjectSourceLevelQuery(this),
2.17 + new RecommendedTemplatesImpl(),
2.18 state
2.19 });
2.20 }
2.21 -
2.22 +
2.23 public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) {
2.24 support.addPropertyChangeListener(propertyChangeListener);
2.25 }
2.26 @@ -379,4 +382,32 @@
2.27 // }
2.28 }
2.29 }
2.30 +
2.31 + private static final class RecommendedTemplatesImpl implements RecommendedTemplates, PrivilegedTemplates {
2.32 +
2.33 + // List of primarily supported templates
2.34 + private static final String[] APPLICATION_TYPES = new String[]{
2.35 + "python", // NOI18N
2.36 + "XML", // NOI18N
2.37 + "simple-files" // NOI18N
2.38 + };
2.39 +
2.40 + private static final String[] PRIVILEGED_NAMES = new String[]{
2.41 + "Templates/Python/_package", // NOI18N
2.42 + "Templates/Python/_module.py", //NOI18N
2.43 + "Templates/Python/_main.py", // NOI18N
2.44 + "Templates/Python/_empty_module.py", // NOI18N
2.45 + "Templates/Python/_test.py", // NOI18N
2.46 + };
2.47 +
2.48 + @Override
2.49 + public String[] getRecommendedTypes() {
2.50 + return APPLICATION_TYPES;
2.51 + }
2.52 +
2.53 + @Override
2.54 + public String[] getPrivilegedTemplates() {
2.55 + return PRIVILEGED_NAMES;
2.56 + }
2.57 + }
2.58 }