diff --git a/platform/lang-impl/src/com/intellij/find/FindSettings.java b/platform/lang-impl/src/com/intellij/find/FindSettings.java index d61fd395eadd..d8c6d73461a1 100644 --- a/platform/lang-impl/src/com/intellij/find/FindSettings.java +++ b/platform/lang-impl/src/com/intellij/find/FindSettings.java @@ -128,4 +128,7 @@ public abstract class FindSettings{ public abstract boolean isExceptCommentsAndLiterals(); public abstract void setExceptCommentsAndLiterals(boolean selected); + + public abstract boolean isShowResultsInSeparateView(); + public abstract void setShowResultsInSeparateView(boolean selected); } diff --git a/platform/lang-impl/src/com/intellij/find/findInProject/FindInProjectManager.java b/platform/lang-impl/src/com/intellij/find/findInProject/FindInProjectManager.java index d7f7665a9299..b78ce2c7ead7 100644 --- a/platform/lang-impl/src/com/intellij/find/findInProject/FindInProjectManager.java +++ b/platform/lang-impl/src/com/intellij/find/findInProject/FindInProjectManager.java @@ -40,7 +40,6 @@ import org.jetbrains.annotations.NotNull; public class FindInProjectManager { private final Project myProject; - private boolean myToOpenInNewTab = false; private volatile boolean myIsFindInProgress = false; public static FindInProjectManager getInstance(Project project) { @@ -60,12 +59,12 @@ public class FindInProjectManager { isOpenInNewTabEnabled = false; } else { - toOpenInNewTab[0] = myToOpenInNewTab; + toOpenInNewTab[0] = FindSettings.getInstance().isShowResultsInSeparateView(); isOpenInNewTabEnabled = UsageViewManager.getInstance(myProject).getReusableContentsCount() > 0; } final FindManager findManager = FindManager.getInstance(myProject); - final FindModel findModel = (FindModel) findManager.getFindInProjectModel().clone(); + final FindModel findModel = findManager.getFindInProjectModel().clone(); findModel.setReplaceState(false); findModel.setOpenInNewTabVisible(true); findModel.setOpenInNewTabEnabled(isOpenInNewTabEnabled); @@ -86,7 +85,7 @@ public class FindInProjectManager { public void run() { findModel.setOpenInNewTabVisible(false); if (isOpenInNewTabEnabled) { - myToOpenInNewTab = toOpenInNewTab[0] = findModel.isOpenInNewTab(); + FindSettings.getInstance().setShowResultsInSeparateView(toOpenInNewTab[0] = findModel.isOpenInNewTab()); } startFindInProject(findModel); @@ -107,8 +106,8 @@ public class FindInProjectManager { if (manager == null) return; final FindManager findManager = FindManager.getInstance(myProject); findManager.getFindInProjectModel().copyFrom(findModel); - final FindModel findModelCopy = (FindModel)findModel.clone(); - final UsageViewPresentation presentation = FindInProjectUtil.setupViewPresentation(myToOpenInNewTab, findModelCopy); + final FindModel findModelCopy = findModel.clone(); + final UsageViewPresentation presentation = FindInProjectUtil.setupViewPresentation(FindSettings.getInstance().isShowResultsInSeparateView(), findModelCopy); final boolean showPanelIfOnlyOneUsage = !FindSettings.getInstance().isSkipResultsWithOneUsage(); final FindUsagesProcessPresentation processPresentation = FindInProjectUtil.setupProcessPresentation(myProject, showPanelIfOnlyOneUsage, presentation); diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindSettingsImpl.java b/platform/lang-impl/src/com/intellij/find/impl/FindSettingsImpl.java index c9c8e3492834..ffe3555ea059 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindSettingsImpl.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindSettingsImpl.java @@ -110,6 +110,7 @@ public class FindSettingsImpl extends FindSettings implements PersistentStateCom @SuppressWarnings({"WeakerAccess"}) public boolean REGULAR_EXPRESSIONS = false; @SuppressWarnings({"WeakerAccess"}) public boolean LOCAL_REGULAR_EXPRESSIONS = false; @SuppressWarnings({"WeakerAccess"}) public boolean WITH_SUBDIRECTORIES = true; + @SuppressWarnings({"WeakerAccess"}) public boolean SHOW_RESULTS_IN_SEPARATE_VIEW = false; @SuppressWarnings({"WeakerAccess"}) public String SEARCH_SCOPE = DEFAULT_SEARCH_SCOPE; @SuppressWarnings({"WeakerAccess"}) public String FILE_MASK; @@ -408,6 +409,16 @@ public class FindSettingsImpl extends FindSettings implements PersistentStateCom EXCEPT_COMMENTS_AND_STRING_LITERALS = selected; } + @Override + public boolean isShowResultsInSeparateView() { + return SHOW_RESULTS_IN_SEPARATE_VIEW; + } + + @Override + public void setShowResultsInSeparateView(boolean optionValue) { + SHOW_RESULTS_IN_SEPARATE_VIEW = optionValue; + } + @Override public boolean isExceptCommentsAndLiterals() { return EXCEPT_COMMENTS_AND_STRING_LITERALS;