diff --git a/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationAction.java b/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationAction.java index 6a092226235b..d91716cc0691 100644 --- a/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationAction.java +++ b/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationAction.java @@ -38,6 +38,7 @@ import com.intellij.openapi.ui.popup.util.BaseListPopupStep; import com.intellij.openapi.wm.ToolWindowId; import com.intellij.ui.popup.list.ListPopupImpl; import com.intellij.ui.popup.list.PopupListElementRenderer; +import com.intellij.ui.speedSearch.SpeedSearch; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -163,7 +164,14 @@ public class ChooseRunConfigurationAction extends AnAction { popup.registerAction("deleteConfiguration_bksp", KeyStroke.getKeyStroke("BACK_SPACE"), new AbstractAction() { public void actionPerformed(ActionEvent e) { - popup.removeSelected(); + SpeedSearch speedSearch = popup.getSpeedSearch(); + if (speedSearch.isHoldingFilter()) { + speedSearch.backspace(); + speedSearch.update(); + } + else { + popup.removeSelected(); + } } }); diff --git a/platform/platform-api/src/com/intellij/ui/speedSearch/ListWithFilter.java b/platform/platform-api/src/com/intellij/ui/speedSearch/ListWithFilter.java index 5423add1433a..ff9fc814f2f1 100644 --- a/platform/platform-api/src/com/intellij/ui/speedSearch/ListWithFilter.java +++ b/platform/platform-api/src/com/intellij/ui/speedSearch/ListWithFilter.java @@ -111,7 +111,7 @@ public class ListWithFilter extends JPanel implements DataProvider { private class MySpeedSearch extends SpeedSearch { boolean searchFieldShown = false; - protected void update() { + public void update() { mySpeedSearchPatternField.setBackground(new JTextField().getBackground()); onSpeedSearchPatternChanged(); mySpeedSearchPatternField.setText(getFilter()); diff --git a/platform/platform-api/src/com/intellij/ui/speedSearch/SpeedSearch.java b/platform/platform-api/src/com/intellij/ui/speedSearch/SpeedSearch.java index 1d3f237955e4..4749a4845a4c 100644 --- a/platform/platform-api/src/com/intellij/ui/speedSearch/SpeedSearch.java +++ b/platform/platform-api/src/com/intellij/ui/speedSearch/SpeedSearch.java @@ -68,7 +68,7 @@ public class SpeedSearch { } } - protected void update() { + public void update() { } diff --git a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java index 9afcbb16edde..505f4c4bab15 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java @@ -126,7 +126,7 @@ public class AbstractPopup implements JBPopup { protected final SpeedSearch mySpeedSearch = new SpeedSearch() { boolean searchFieldShown = false; - protected void update() { + public void update() { mySpeedSearchPatternField.setBackground(new JTextField().getBackground()); onSpeedSearchPatternChanged(); mySpeedSearchPatternField.setText(getFilter());