From bf214e4a7b5c3eb04c31dbba10712f08827cbc3d Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 16 Feb 2017 16:18:14 +0300 Subject: [PATCH] inspection settings: request focus to the tree when description is applied (IDEA-165091) --- .../schemes/AbstractDescriptionAwareSchemesPanel.java | 9 +++++++-- .../ui/header/InspectionProfileSchemesPanel.java | 7 +++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/application/options/schemes/AbstractDescriptionAwareSchemesPanel.java b/platform/lang-impl/src/com/intellij/application/options/schemes/AbstractDescriptionAwareSchemesPanel.java index f3394c839d22..8b106eef89f9 100644 --- a/platform/lang-impl/src/com/intellij/application/options/schemes/AbstractDescriptionAwareSchemesPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/schemes/AbstractDescriptionAwareSchemesPanel.java @@ -59,13 +59,15 @@ public abstract class AbstractDescriptionAwareSchemesPanel ext myDescriptionTextField.registerKeyboardAction(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - applyDescription(); + showDescription(); + getConfigurableFocusComponent().requestFocus(); } }, ESC_KEY_STROKE, JComponent.WHEN_FOCUSED); myDescriptionTextField.registerKeyboardAction(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - showDescription(); + applyDescription(); + getConfigurableFocusComponent().requestFocus(); } }, ENTER_KEY_STROKE, JComponent.WHEN_FOCUSED); @@ -123,6 +125,9 @@ public abstract class AbstractDescriptionAwareSchemesPanel ext myDescriptionTextField.requestFocus(); } + @NotNull + protected abstract JComponent getConfigurableFocusComponent(); + private void applyDescription() { (((DescriptionAwareSchemeActions)getActions())).setDescription(getSelectedScheme(), myDescriptionTextField.getText()); showDescription(); diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java index f2e93ba3cb16..712fd5c342c6 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java @@ -42,6 +42,7 @@ import org.jdom.JDOMException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import javax.swing.*; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -275,4 +276,10 @@ public class InspectionProfileSchemesPanel extends AbstractDescriptionAwareSchem getModel().updatePanel(this); selectScheme(selected); } + + @NotNull + @Override + protected JComponent getConfigurableFocusComponent() { + return myConfigurable.getPreferredFocusedComponent(); + } }