diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/LanguageLevelCombo.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/LanguageLevelCombo.java index f277f2c77ba9..11fd46ca6278 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/LanguageLevelCombo.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/LanguageLevelCombo.java @@ -25,6 +25,7 @@ import com.intellij.openapi.ui.ComboBox; import com.intellij.pom.java.LanguageLevel; import com.intellij.ui.ColoredListCellRendererWrapper; import com.intellij.ui.SimpleTextAttributes; +import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -58,16 +59,16 @@ public abstract class LanguageLevelCombo extends ComboBox { }); } - public void reset(Project project) { + public void reset(@NotNull Project project) { removeAllItems(); for (LanguageLevel level : LanguageLevel.values()) { addItem(level); } Sdk sdk = ProjectRootManagerEx.getInstanceEx(project).getProjectSdk(); - sdkUpdated(sdk); + sdkUpdated(sdk, project.isDefault()); LanguageLevelProjectExtension extension = LanguageLevelProjectExtension.getInstance(project); - if (getDefaultLevel() != null && extension.isDefault()) { + if (extension.isDefault()) { setSelectedItem(myDefaultItem); } else { @@ -77,7 +78,7 @@ public abstract class LanguageLevelCombo extends ComboBox { protected abstract LanguageLevel getDefaultLevel(); - void sdkUpdated(Sdk sdk) { + void sdkUpdated(Sdk sdk, boolean isDefaultProject) { LanguageLevel newLevel = null; if (sdk != null) { JavaSdkVersion version = JavaSdk.getInstance().getVersion(sdk); @@ -85,11 +86,11 @@ public abstract class LanguageLevelCombo extends ComboBox { newLevel = version.getMaxLanguageLevel(); } } - updateDefaultLevel(newLevel); + updateDefaultLevel(newLevel, isDefaultProject); } - void updateDefaultLevel(LanguageLevel newLevel) { - if (newLevel == null) { + private void updateDefaultLevel(LanguageLevel newLevel, boolean isDefaultProject) { + if (newLevel == null && !isDefaultProject) { if (getSelectedItem() == myDefaultItem) { setSelectedItem(getDefaultLevel()); } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ProjectConfigurable.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ProjectConfigurable.java index fc268c7cff5d..3fe44c619516 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ProjectConfigurable.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ProjectConfigurable.java @@ -173,7 +173,7 @@ public class ProjectConfigurable extends ProjectStructureElementConfigurable= 0; + final boolean is15 = myLanguageLevel != null && myLanguageLevel.compareTo(LanguageLevel.JDK_1_5) >= 0; element.setAttribute(ASSERT_KEYWORD_ATTR, Boolean.toString(is14 || is15)); element.setAttribute(JDK_15_ATTR, Boolean.toString(is15)); }