From 48e7d3db2038323594f99f9101827a21812aee79 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Fri, 10 Feb 2017 16:35:16 +0100 Subject: [PATCH] (IDEA-167955) Find: `Ctrl+F` on selected word doesn't pre-select text in search field if Find bar is open --- .../src/com/intellij/find/SearchReplaceComponent.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/find/SearchReplaceComponent.java b/platform/lang-impl/src/com/intellij/find/SearchReplaceComponent.java index 9cae5d6aa56e..d9fdb0f4a7ac 100644 --- a/platform/lang-impl/src/com/intellij/find/SearchReplaceComponent.java +++ b/platform/lang-impl/src/com/intellij/find/SearchReplaceComponent.java @@ -308,8 +308,11 @@ public class SearchReplaceComponent extends EditorHeaderComponent implements Dat private void updateSearchComponent(@NotNull String textToSet) { if (!updateTextComponent(true)) { - if (!mySearchTextComponent.getText().equals(textToSet)) { + String existingText = mySearchTextComponent.getText(); + if (!existingText.equals(textToSet)) { mySearchTextComponent.setText(textToSet); + // textToSet should be selected even if we have no selection before (if we have the selection then setText will remain it) + if (existingText.length() == 0) mySearchTextComponent.selectAll(); } return; } @@ -340,8 +343,10 @@ public class SearchReplaceComponent extends EditorHeaderComponent implements Dat private void updateReplaceComponent(@NotNull String textToSet) { if (!updateTextComponent(false)) { - if (!myReplaceTextComponent.getText().equals(textToSet)) { + String existingText = myReplaceTextComponent.getText(); + if (!existingText.equals(textToSet)) { myReplaceTextComponent.setText(textToSet); + if (existingText.length() == 0) myReplaceTextComponent.selectAll(); } return; }