mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user