From 6f8ffc1dcd34a18cad41bd8086492a499a48b33c Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 17 Jan 2017 11:32:14 +0300 Subject: [PATCH] cleanup --- .../roots/ui/configuration/JdkComboBox.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JdkComboBox.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JdkComboBox.java index cfda26288cb2..acaea7c444f3 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JdkComboBox.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JdkComboBox.java @@ -16,13 +16,13 @@ package com.intellij.openapi.roots.ui.configuration; import com.intellij.ide.DataManager; -import com.intellij.ide.util.projectWizard.ProjectJdkListRenderer; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.SdkType; import com.intellij.openapi.projectRoots.SdkTypeId; +import com.intellij.openapi.roots.ui.OrderEntryAppearanceService; import com.intellij.openapi.roots.ui.configuration.projectRoot.JdkListConfigurable; import com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectSdksModel; import com.intellij.openapi.ui.ComboBoxWithWidePopup; @@ -32,6 +32,7 @@ import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Conditions; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.ui.ColoredListCellRenderer; import com.intellij.ui.ScreenUtil; import com.intellij.ui.SimpleTextAttributes; import com.intellij.util.containers.ContainerUtil; @@ -51,7 +52,7 @@ import java.util.Collection; * @author Eugene Zhuravlev * @since May 18, 2005 */ -public class JdkComboBox extends ComboBoxWithWidePopup { +public class JdkComboBox extends ComboBoxWithWidePopup { private static final Icon EMPTY_ICON = JBUI.scale(EmptyIcon.create(1, 16)); @@ -80,9 +81,14 @@ public class JdkComboBox extends ComboBoxWithWidePopup { myFilter = filter; mySdkTypeFilter = sdkTypeFilter; myCreationFilter = creationFilter; - setRenderer(new ProjectJdkListRenderer() { + setRenderer(new ColoredListCellRenderer() { @Override - public void doCustomize(JList list, Object value, int index, boolean selected, boolean hasFocus) { + protected void customizeCellRenderer(@NotNull JList list, + JdkComboBoxItem value, + int index, + boolean selected, + boolean hasFocus) { + if (JdkComboBox.this.isEnabled()) { setIcon(EMPTY_ICON); // to fix vertical size if (value instanceof InvalidJdkComboBoxItem) { @@ -109,9 +115,11 @@ public class JdkComboBox extends ComboBoxWithWidePopup { append(version == null ? type.getPresentableName() : version); append(" (" + home + ")", SimpleTextAttributes.GRAYED_ATTRIBUTES); } + else if (value != null) { + OrderEntryAppearanceService.getInstance().forJdk(value.getJdk(), false, selected, true).customize(this); + } else { - super.doCustomize(list, value != null ? ((JdkComboBoxItem)value).getJdk() - : new NoneJdkComboBoxItem(), index, selected, hasFocus); + customizeCellRenderer(list, new NoneJdkComboBoxItem(), index, selected, hasFocus); } } }