diff --git a/java/java-tests/testData/find/findInEditor/NoPreviewReplacementWithEmptyString.gold b/java/java-tests/testData/find/findInEditor/NoPreviewReplacementWithEmptyString.gold index 88da8b3d1263..a680e18ffa26 100644 --- a/java/java-tests/testData/find/findInEditor/NoPreviewReplacementWithEmptyString.gold +++ b/java/java-tests/testData/find/findInEditor/NoPreviewReplacementWithEmptyString.gold @@ -1,5 +1,5 @@ --- FIND MODEL --- -myStringToFind = '' +myStringToFind = null myStringToReplace = '' isReplaceState = false isWholeWordsOnly = false diff --git a/java/java-tests/testData/find/findInEditor/NoPreviewSecondRegexReplaceShowsPopup.gold b/java/java-tests/testData/find/findInEditor/NoPreviewSecondRegexReplaceShowsPopup.gold index f9c1b894d9a7..685461552b0a 100644 --- a/java/java-tests/testData/find/findInEditor/NoPreviewSecondRegexReplaceShowsPopup.gold +++ b/java/java-tests/testData/find/findInEditor/NoPreviewSecondRegexReplaceShowsPopup.gold @@ -1,5 +1,5 @@ --- FIND MODEL --- -myStringToFind = '' +myStringToFind = null myStringToReplace = '' isReplaceState = false isWholeWordsOnly = false diff --git a/java/java-tests/testData/find/findInEditor/ReplacementWithEmptyString.gold b/java/java-tests/testData/find/findInEditor/ReplacementWithEmptyString.gold index d988866baa25..cab2f8df96fd 100644 --- a/java/java-tests/testData/find/findInEditor/ReplacementWithEmptyString.gold +++ b/java/java-tests/testData/find/findInEditor/ReplacementWithEmptyString.gold @@ -1,5 +1,5 @@ --- FIND MODEL --- -myStringToFind = '' +myStringToFind = null myStringToReplace = '' isReplaceState = false isWholeWordsOnly = false diff --git a/java/java-tests/testData/find/findInEditor/SearchAdjacentOccurrences.gold b/java/java-tests/testData/find/findInEditor/SearchAdjacentOccurrences.gold index 528a6ee0dd9e..a6da12ca061c 100644 --- a/java/java-tests/testData/find/findInEditor/SearchAdjacentOccurrences.gold +++ b/java/java-tests/testData/find/findInEditor/SearchAdjacentOccurrences.gold @@ -1,5 +1,5 @@ --- FIND MODEL --- -myStringToFind = '' +myStringToFind = null myStringToReplace = '' isReplaceState = false isWholeWordsOnly = false diff --git a/java/java-tests/testData/find/findInEditor/SecondRegexReplaceShowsPopup.gold b/java/java-tests/testData/find/findInEditor/SecondRegexReplaceShowsPopup.gold index d6c845b5792d..a01d86280916 100644 --- a/java/java-tests/testData/find/findInEditor/SecondRegexReplaceShowsPopup.gold +++ b/java/java-tests/testData/find/findInEditor/SecondRegexReplaceShowsPopup.gold @@ -1,5 +1,5 @@ --- FIND MODEL --- -myStringToFind = '' +myStringToFind = null myStringToReplace = '' isReplaceState = false isWholeWordsOnly = false diff --git a/java/java-tests/testData/find/findInEditor/ZeroWidthRegexpAtEndOfFile.gold b/java/java-tests/testData/find/findInEditor/ZeroWidthRegexpAtEndOfFile.gold index 03b98f7642ed..b27810c4ee1a 100644 --- a/java/java-tests/testData/find/findInEditor/ZeroWidthRegexpAtEndOfFile.gold +++ b/java/java-tests/testData/find/findInEditor/ZeroWidthRegexpAtEndOfFile.gold @@ -1,5 +1,5 @@ --- FIND MODEL --- -myStringToFind = '' +myStringToFind = null myStringToReplace = '' isReplaceState = false isWholeWordsOnly = false diff --git a/platform/indexing-api/src/com/intellij/find/FindModel.java b/platform/indexing-api/src/com/intellij/find/FindModel.java index 53cf709077df..eca7e9b6e2ec 100644 --- a/platform/indexing-api/src/com/intellij/find/FindModel.java +++ b/platform/indexing-api/src/com/intellij/find/FindModel.java @@ -54,7 +54,7 @@ public class FindModel extends UserDataHolderBase implements Cloneable { } } - private String myStringToFind = ""; + private String myStringToFind = null; private String myStringToReplace = ""; private boolean isSearchHighlighters; private boolean isReplaceState; @@ -236,7 +236,11 @@ public class FindModel extends UserDataHolderBase implements Cloneable { */ @NotNull public String getStringToFind() { - return myStringToFind; + return (myStringToFind == null) ? "" : myStringToFind; + } + + public boolean hasStringToFind() { + return myStringToFind != null; } /** @@ -617,7 +621,7 @@ public class FindModel extends UserDataHolderBase implements Cloneable { @Override public String toString() { return "--- FIND MODEL ---\n" + - "myStringToFind = '" + myStringToFind + "'\n" + + "myStringToFind = " + (myStringToFind == null ? "null\n" : "'" + myStringToFind + "'\n") + "myStringToReplace = '" + myStringToReplace + "'\n" + "isReplaceState = " + isReplaceState + "\n" + "isWholeWordsOnly = " + isWholeWordsOnly + "\n" + diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindPopupPanel.java b/platform/lang-impl/src/com/intellij/find/impl/FindPopupPanel.java index 73339630915c..bd8e6aa150d4 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindPopupPanel.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindPopupPanel.java @@ -1048,8 +1048,10 @@ public class FindPopupPanel extends JBPanel implements FindUI, D } header.fileMaskField.setEnabled(isThereFileFilter); FindInProjectSettings findInProjectSettings = FindInProjectSettings.getInstance(myProject); - mySearchComponent.setText(findInProjectSettings.getMostRecentFindString()); - myReplaceComponent.setText(findInProjectSettings.getMostRecentReplaceString()); + String search = myModel.hasStringToFind() ? myModel.getStringToFind() : findInProjectSettings.getMostRecentFindString(); + mySearchComponent.setText(search); + String replace = myModel.hasStringToFind() ? myModel.getStringToReplace() : findInProjectSettings.getMostRecentReplaceString(); + myReplaceComponent.setText(replace); updateControls(); updateScopeDetailsPanel();