Merge remote-tracking branch 'origin/master'

This commit is contained in:
Dmitry Trofimov
2014-08-14 13:50:19 +02:00
5 changed files with 28 additions and 30 deletions
@@ -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);
}
@@ -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);
@@ -21,7 +21,6 @@ import com.intellij.find.FindBundle;
import com.intellij.find.FindModel;
import com.intellij.find.FindSettings;
import com.intellij.ide.util.scopeChooser.ScopeChooserCombo;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.event.DocumentAdapter;
import com.intellij.openapi.editor.event.DocumentEvent;
@@ -46,10 +45,7 @@ import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiFileFactory;
import com.intellij.psi.search.SearchScope;
import com.intellij.ui.EditorComboBoxRenderer;
import com.intellij.ui.EditorTextField;
import com.intellij.ui.IdeBorderFactory;
import com.intellij.ui.StateRestoringCheckBox;
import com.intellij.ui.*;
import com.intellij.util.ArrayUtil;
import com.intellij.util.Consumer;
import com.intellij.util.ui.UIUtil;
@@ -343,7 +339,6 @@ public class FindDialog extends DialogWrapper {
optionsPanel.add(topOptionsPanel, gbConstraints);
JPanel resultsOptionPanel = null;
final boolean alignedMode = ApplicationManager.getApplication().isInternal(); // todo
if (myModel.isMultipleFiles()) {
optionsPanel.add(createGlobalScopePanel(), gbConstraints);
@@ -355,12 +350,9 @@ public class FindDialog extends DialogWrapper {
optionsPanel.add(createFilterPanel(),gbConstraints);
myCbToSkipResultsWhenOneUsage = createCheckbox(FindSettings.getInstance().isSkipResultsWithOneUsage(), FindBundle.message("find.options.skip.results.tab.with.one.occurrence.checkbox"));
if (alignedMode) {
resultsOptionPanel = createResultsOptionPanel(optionsPanel, gbConstraints);
resultsOptionPanel.add(myCbToSkipResultsWhenOneUsage);
} else {
optionsPanel.add(myCbToSkipResultsWhenOneUsage, gbConstraints);
}
resultsOptionPanel = createResultsOptionPanel(optionsPanel, gbConstraints);
resultsOptionPanel.add(myCbToSkipResultsWhenOneUsage);
myCbToSkipResultsWhenOneUsage.setVisible(!myModel.isReplaceState());
}
else {
@@ -388,15 +380,9 @@ public class FindDialog extends DialogWrapper {
myCbToOpenInNewTab.setFocusable(false);
myCbToOpenInNewTab.setSelected(myModel.isOpenInNewTab());
myCbToOpenInNewTab.setEnabled(myModel.isOpenInNewTabEnabled());
if (alignedMode) {
if (resultsOptionPanel == null) resultsOptionPanel = createResultsOptionPanel(optionsPanel, gbConstraints);
resultsOptionPanel.add(myCbToOpenInNewTab);
} else {
JPanel openInNewTabWindowPanel = new JPanel(new BorderLayout());
openInNewTabWindowPanel.add(myCbToOpenInNewTab, BorderLayout.EAST);
optionsPanel.add(openInNewTabWindowPanel, gbConstraints);
}
if (resultsOptionPanel == null) resultsOptionPanel = createResultsOptionPanel(optionsPanel, gbConstraints);
resultsOptionPanel.add(myCbToOpenInNewTab);
}
return optionsPanel;
@@ -404,10 +390,9 @@ public class FindDialog extends DialogWrapper {
private static JPanel createResultsOptionPanel(JPanel optionsPanel, GridBagConstraints gbConstraints) {
JPanel resultsOptionPanel = new JPanel();
resultsOptionPanel.setBorder(IdeBorderFactory.createTitledBorder(FindBundle.message("results.options.group"), true));
resultsOptionPanel.setLayout(new BoxLayout(resultsOptionPanel, BoxLayout.Y_AXIS));
optionsPanel.add(resultsOptionPanel, gbConstraints);
optionsPanel.add(new HideableTitledPanel(FindBundle.message("results.options.group"), resultsOptionPanel, false), gbConstraints);
return resultsOptionPanel;
}
@@ -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;
@@ -135,4 +135,4 @@ find.usages.ambiguous.title=Find Usages Of {0}
0.occurrences.replaced={0,choice,0#No|1#{0}} {0,choice,0#occurrences|1#occurrence|2#occurrences} replaced
found.occurrences=Found Occurrences
occurrence=occurrence
results.options.group=Results
results.options.group=Result options