From 1aa2e09bdbd413eacb677e9fa4b50630530d0656 Mon Sep 17 00:00:00 2001 From: Tor Norbye Date: Wed, 20 Aug 2014 17:01:23 -0700 Subject: Snapshot idea/138.1696 from git://git.jetbrains.org/idea/community.git Change-Id: I50c97b83a815ce635e49a38380ba5b8765e4b16a --- .../actions/AbstractProjectSettingsStep.java | 40 +++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) (limited to 'python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java') diff --git a/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java b/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java index 6ba283caf199..dd68cdb6ed2f 100644 --- a/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java +++ b/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java @@ -205,7 +205,19 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane final Project project = ProjectManager.getInstance().getDefaultProject(); final List sdks = PyConfigurableInterpreterList.getInstance(project).getAllPythonSdks(); VirtualEnvProjectFilter.removeAllAssociated(sdks); - final Sdk preferred = sdks.isEmpty() ? null : sdks.iterator().next(); + Sdk compatibleSdk = sdks.isEmpty() ? null : sdks.iterator().next(); + DirectoryProjectGenerator generator = getProjectGenerator(); + if (generator instanceof PyFrameworkProjectGenerator && !((PyFrameworkProjectGenerator)generator).supportsPython3()) { + if (compatibleSdk != null && PythonSdkType.getLanguageLevelForSdk(compatibleSdk).isPy3K()) { + Sdk python2Sdk = PythonSdkType.findPython2Sdk(sdks); + if (python2Sdk != null) { + compatibleSdk = python2Sdk; + + } + } + } + + final Sdk preferred = compatibleSdk; mySdkCombo = new PythonSdkChooserCombo(project, sdks, new Condition() { @Override public boolean value(Sdk sdk) { @@ -231,6 +243,8 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane @Nullable protected JPanel extendBasePanel() { + if (myProjectGenerator instanceof PythonProjectGenerator) + return ((PythonProjectGenerator)myProjectGenerator).extendBasePanel(); return null; } @@ -354,17 +368,19 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane } public void selectCompatiblePython() { - DirectoryProjectGenerator generator = getProjectGenerator(); - if (generator instanceof PyFrameworkProjectGenerator && !((PyFrameworkProjectGenerator)generator).supportsPython3()) { - Sdk sdk = getSdk(); - if (sdk != null && PythonSdkType.getLanguageLevelForSdk(sdk).isPy3K()) { - Sdk python2Sdk = PythonSdkType.findPython2Sdk(null); - if (python2Sdk != null) { - mySdkCombo.getComboBox().setSelectedItem(python2Sdk); - mySdkCombo.getComboBox().repaint(); - } - } - } + //DirectoryProjectGenerator generator = getProjectGenerator(); + //if (generator instanceof PyFrameworkProjectGenerator && !((PyFrameworkProjectGenerator)generator).supportsPython3()) { + // Sdk sdk = getSdk(); + // if (sdk != null && PythonSdkType.getLanguageLevelForSdk(sdk).isPy3K()) { + // Sdk python2Sdk = PythonSdkType.findPython2Sdk(null); + // if (python2Sdk != null) { + // mySdkCombo.getComboBox().setSelectedItem(python2Sdk); + // mySdkCombo.getComboBox().revalidate(); + // mySdkCombo.getComboBox().repaint(); + // + // } + // } + //} } private static boolean acceptsRemoteSdk(DirectoryProjectGenerator generator) { -- cgit v1.2.3