diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaComboBoxUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaComboBoxUI.java index 5406df9cef1c..e210dfaaed9b 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaComboBoxUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaComboBoxUI.java @@ -17,6 +17,7 @@ package com.intellij.ide.ui.laf.darcula.ui; import com.intellij.ide.ui.laf.darcula.DarculaUIUtil; import com.intellij.openapi.ui.GraphicsConfig; +import com.intellij.openapi.util.registry.Registry; import com.intellij.ui.Gray; import com.intellij.ui.JBColor; import com.intellij.util.ui.JBInsets; @@ -419,4 +420,18 @@ public class DarculaComboBoxUI extends BasicComboBoxUI implements Border { public boolean isBorderOpaque() { return false; } + + @Override + protected void configureEditor() { + super.configureEditor(); + if (Registry.is("ide.ui.composite.editor.for.combobox")) { + // BasicComboboxUI sets focusability depending on the combobox focusability. + // JPanel usually is unfocusable and uneditable. + // It could be set as an editor when people want to have a composite component as an editor. + // In such cases we should restore unfocusable state for panels. + if (editor instanceof JPanel) { + editor.setFocusable(false); + } + } + } } \ No newline at end of file diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index 567f55fc182b..ef1e499274c5 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -857,4 +857,5 @@ low.memory.watcher.sync.description=Whether LowMemoryWatcher runnables should be typing.freeze.report.dumps=false typing.freeze.report.dumps.description=Automatically reports thread dumps to our statistics server -store.basedir.parent.detection=true \ No newline at end of file +store.basedir.parent.detection=true +ide.ui.composite.editor.for.combobox=false \ No newline at end of file