diff --git a/platform/lang-api/src/com/intellij/find/FindManager.java b/platform/lang-api/src/com/intellij/find/FindManager.java index abf90bb4f0b7..b4a69f9c9c0b 100644 --- a/platform/lang-api/src/com/intellij/find/FindManager.java +++ b/platform/lang-api/src/com/intellij/find/FindManager.java @@ -285,5 +285,6 @@ public abstract class FindManager { int ALL = 3; int ALL_IN_THIS_FILE = 4; int ALL_FILES = 5; + int SKIP_ALL_IN_THIS_FILE = 6; } } diff --git a/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java b/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java index 0c6a3766342d..dbee212b2cd8 100644 --- a/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java +++ b/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java @@ -310,6 +310,17 @@ public class ReplaceInProjectManager { } } + if (result == FindManager.PromptResult.SKIP_ALL_IN_THIS_FILE) { + int j; + for(j = i + 1;j < usages.length; ++j) { + final PsiElement nextElt = ((UsageInfo2UsageAdapter)usages[j]).getUsageInfo().getElement(); + if (nextElt == null) continue; + if (nextElt.getContainingFile() == psiFile) continue; + break; + } + i = j -1; + } + if (result == FindManager.PromptResult.ALL_IN_THIS_FILE) { final int[] nextNumber = new int[1]; diff --git a/platform/lang-impl/src/com/intellij/ui/ReplacePromptDialog.java b/platform/lang-impl/src/com/intellij/ui/ReplacePromptDialog.java index 3cf239f46632..e011dd8d2b6a 100644 --- a/platform/lang-impl/src/com/intellij/ui/ReplacePromptDialog.java +++ b/platform/lang-impl/src/com/intellij/ui/ReplacePromptDialog.java @@ -56,6 +56,7 @@ public class ReplacePromptDialog extends DialogWrapper { replaceAction, createSkipAction(), new DoAction(UIBundle.message("replace.prompt.all.in.this.file.button"), FindManager.PromptResult.ALL_IN_THIS_FILE), + new DoAction(UIBundle.message("replace.prompt.skip.all.in.file.button"), FindManager.PromptResult.SKIP_ALL_IN_THIS_FILE), new DoAction(UIBundle.message("replace.prompt.all.files.action"), FindManager.PromptResult.ALL_FILES), getCancelAction() }; diff --git a/platform/platform-resources-en/src/messages/UIBundle.properties b/platform/platform-resources-en/src/messages/UIBundle.properties index 4f67ac6dcbf8..b3513eafe5c7 100644 --- a/platform/platform-resources-en/src/messages/UIBundle.properties +++ b/platform/platform-resources-en/src/messages/UIBundle.properties @@ -22,7 +22,8 @@ collapsible.panel.expanded.state.tooltip.text=Collapse Panel idea.blue.metal.theme.name=beg blue replace.prompt.replace.button=&Replace replace.prompt.skip.button=&Skip -replace.prompt.all.in.this.file.button=All in This &File +replace.prompt.skip.all.in.file.button=Skip To &Next File +replace.prompt.all.in.this.file.button=Replace All in This &File replace.prompt.all.files.action=&All Files replace.prompt.review.action=Re&view replace.prompt.all.button=&All