mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-195072 Make 'Open in new tab' option always visible
This commit is contained in:
@@ -83,7 +83,6 @@ public class FindModel extends UserDataHolderBase implements Cloneable {
|
||||
private boolean isReplaceAll;
|
||||
private boolean isOpenNewTab;
|
||||
private boolean isOpenInNewTabEnabled;
|
||||
private boolean isOpenNewTabVisible;
|
||||
private boolean isProjectScope = true;
|
||||
private boolean isFindAll;
|
||||
private boolean isFindAllEnabled;
|
||||
@@ -156,7 +155,6 @@ public class FindModel extends UserDataHolderBase implements Cloneable {
|
||||
isReplaceAll = model.isReplaceAll;
|
||||
isOpenNewTab = model.isOpenNewTab;
|
||||
isOpenInNewTabEnabled = model.isOpenInNewTabEnabled;
|
||||
isOpenNewTabVisible = model.isOpenNewTabVisible;
|
||||
isProjectScope = model.isProjectScope;
|
||||
directoryName = model.directoryName;
|
||||
isWithSubdirectories = model.isWithSubdirectories;
|
||||
@@ -195,7 +193,6 @@ public class FindModel extends UserDataHolderBase implements Cloneable {
|
||||
if (isMultipleFiles != findModel.isMultipleFiles) return false;
|
||||
if (isOpenInNewTabEnabled != findModel.isOpenInNewTabEnabled) return false;
|
||||
if (isOpenNewTab != findModel.isOpenNewTab) return false;
|
||||
if (isOpenNewTabVisible != findModel.isOpenNewTabVisible) return false;
|
||||
if (isPreserveCase != findModel.isPreserveCase) return false;
|
||||
if (isProjectScope != findModel.isProjectScope) return false;
|
||||
if (isPromptOnReplace != findModel.isPromptOnReplace) return false;
|
||||
@@ -238,7 +235,6 @@ public class FindModel extends UserDataHolderBase implements Cloneable {
|
||||
result = 31 * result + (isReplaceAll ? 1 : 0);
|
||||
result = 31 * result + (isOpenNewTab ? 1 : 0);
|
||||
result = 31 * result + (isOpenInNewTabEnabled ? 1 : 0);
|
||||
result = 31 * result + (isOpenNewTabVisible ? 1 : 0);
|
||||
result = 31 * result + (isProjectScope ? 1 : 0);
|
||||
result = 31 * result + (isFindAll ? 1 : 0);
|
||||
result = 31 * result + (isFindAllEnabled ? 1 : 0);
|
||||
@@ -566,25 +562,16 @@ public class FindModel extends UserDataHolderBase implements Cloneable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value indicating whether the Open in New Tab flag is visible for the operation.
|
||||
*
|
||||
* @return true if Open in New Tab is visible, false otherwise.
|
||||
* @deprecated and not used anymore
|
||||
*/
|
||||
public boolean isOpenInNewTabVisible() {
|
||||
return isOpenNewTabVisible;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value indicating whether the Open in New Tab flag is enabled for the operation.
|
||||
*
|
||||
* @param showInNewTabVisible true if Open in New Tab is visible, false otherwise.
|
||||
* @deprecated and not used anymore
|
||||
*/
|
||||
public void setOpenInNewTabVisible(boolean showInNewTabVisible) {
|
||||
boolean changed = showInNewTabVisible != isOpenNewTabVisible;
|
||||
isOpenNewTabVisible = showInNewTabVisible;
|
||||
if (changed) {
|
||||
notifyObservers();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -687,7 +674,6 @@ public class FindModel extends UserDataHolderBase implements Cloneable {
|
||||
"isReplaceAll =" + isReplaceAll + "\n" +
|
||||
"isOpenNewTab =" + isOpenNewTab + "\n" +
|
||||
"isOpenInNewTabEnabled =" + isOpenInNewTabEnabled + "\n" +
|
||||
"isOpenNewTabVisible =" + isOpenNewTabVisible + "\n" +
|
||||
"isProjectScope =" + isProjectScope + "\n" +
|
||||
"directoryName =" + directoryName + "\n" +
|
||||
"isWithSubdirectories =" + isWithSubdirectories + "\n" +
|
||||
|
||||
@@ -67,11 +67,11 @@ public class FindInProjectManager {
|
||||
final FindModel findModel;
|
||||
if (model != null) {
|
||||
findModel = model.clone();
|
||||
findModel.setOpenInNewTabEnabled(isOpenInNewTabEnabled);
|
||||
}
|
||||
else {
|
||||
findModel = findManager.getFindInProjectModel().clone();
|
||||
findModel.setReplaceState(false);
|
||||
findModel.setOpenInNewTabVisible(true);
|
||||
findModel.setOpenInNewTabEnabled(isOpenInNewTabEnabled);
|
||||
findModel.setOpenInNewTab(toOpenInNewTab);
|
||||
initModel(findModel, dataContext);
|
||||
@@ -87,12 +87,10 @@ public class FindInProjectManager {
|
||||
}
|
||||
|
||||
public void findInPath(@NotNull FindModel findModel) {
|
||||
findModel.setOpenInNewTabVisible(false);
|
||||
if (findModel.isOpenInNewTabEnabled()) {
|
||||
FindSettings.getInstance().setShowResultsInSeparateView(findModel.isOpenInNewTab());
|
||||
}
|
||||
startFindInProject(findModel);
|
||||
findModel.setOpenInNewTabVisible(false);
|
||||
}
|
||||
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
|
||||
@@ -651,16 +651,14 @@ public class FindDialog extends DialogWrapper implements FindUI {
|
||||
topOptionsPanel.add(leftOptionsPanel);
|
||||
}
|
||||
|
||||
if (myHelper.getModel().isOpenInNewTabVisible()){
|
||||
myCbToOpenInNewTab = new JCheckBox(FindBundle.message("find.open.in.new.tab.checkbox"));
|
||||
myCbToOpenInNewTab.setFocusable(false);
|
||||
myCbToOpenInNewTab.setSelected(myHelper.isUseSeparateView());
|
||||
myCbToOpenInNewTab.setEnabled(myHelper.getModel().isOpenInNewTabEnabled());
|
||||
myCbToOpenInNewTab.addActionListener(e -> myHelper.setUseSeparateView(myCbToOpenInNewTab.isSelected()));
|
||||
myCbToOpenInNewTab = new JCheckBox(FindBundle.message("find.open.in.new.tab.checkbox"));
|
||||
myCbToOpenInNewTab.setFocusable(false);
|
||||
myCbToOpenInNewTab.setSelected(myHelper.isUseSeparateView());
|
||||
myCbToOpenInNewTab.setEnabled(myHelper.getModel().isOpenInNewTabEnabled());
|
||||
myCbToOpenInNewTab.addActionListener(e -> myHelper.setUseSeparateView(myCbToOpenInNewTab.isSelected()));
|
||||
|
||||
if (resultsOptionPanel == null) resultsOptionPanel = createResultsOptionPanel(optionsPanel, gbConstraints);
|
||||
resultsOptionPanel.add(myCbToOpenInNewTab);
|
||||
}
|
||||
if (resultsOptionPanel == null) resultsOptionPanel = createResultsOptionPanel(optionsPanel, gbConstraints);
|
||||
resultsOptionPanel.add(myCbToOpenInNewTab);
|
||||
|
||||
if (myPreviewSplitter != null) {
|
||||
TabbedPane pane = new JBTabsPaneImpl(myProject, SwingConstants.TOP, myDisposable);
|
||||
|
||||
@@ -481,7 +481,7 @@ public class FindPopupPanel extends JBPanel implements FindUI {
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
super.update(e);
|
||||
e.getPresentation().setEnabled(myHelper.getModel().isOpenInNewTabEnabled());
|
||||
e.getPresentation().setVisible(myHelper.getModel().isOpenInNewTabVisible());
|
||||
e.getPresentation().setVisible(true);
|
||||
}
|
||||
});
|
||||
tabResultsContextGroup.setPopup(true);
|
||||
|
||||
+13
-12
@@ -124,22 +124,22 @@ public class ReplaceInProjectManager {
|
||||
public void replaceInProject(@NotNull DataContext dataContext, @Nullable FindModel model) {
|
||||
final FindManager findManager = FindManager.getInstance(myProject);
|
||||
final FindModel findModel;
|
||||
|
||||
final boolean isOpenInNewTabEnabled;
|
||||
final boolean toOpenInNewTab;
|
||||
final Content selectedContent = com.intellij.usageView.UsageViewManager.getInstance(myProject).getSelectedContent(true);
|
||||
if (selectedContent != null && selectedContent.isPinned()) {
|
||||
toOpenInNewTab = true;
|
||||
isOpenInNewTabEnabled = false;
|
||||
}
|
||||
else {
|
||||
toOpenInNewTab = FindSettings.getInstance().isShowResultsInSeparateView();
|
||||
isOpenInNewTabEnabled = com.intellij.usageView.UsageViewManager.getInstance(myProject).getReusableContentsCount() > 0;
|
||||
}
|
||||
if (model == null) {
|
||||
final boolean isOpenInNewTabEnabled;
|
||||
final boolean toOpenInNewTab;
|
||||
final Content selectedContent = com.intellij.usageView.UsageViewManager.getInstance(myProject).getSelectedContent(true);
|
||||
if (selectedContent != null && selectedContent.isPinned()) {
|
||||
toOpenInNewTab = true;
|
||||
isOpenInNewTabEnabled = false;
|
||||
}
|
||||
else {
|
||||
toOpenInNewTab = FindSettings.getInstance().isShowResultsInSeparateView();
|
||||
isOpenInNewTabEnabled = com.intellij.usageView.UsageViewManager.getInstance(myProject).getReusableContentsCount() > 0;
|
||||
}
|
||||
|
||||
findModel = findManager.getFindInProjectModel().clone();
|
||||
findModel.setReplaceState(true);
|
||||
findModel.setOpenInNewTabVisible(true);
|
||||
findModel.setOpenInNewTabEnabled(isOpenInNewTabEnabled);
|
||||
findModel.setOpenInNewTab(toOpenInNewTab);
|
||||
FindInProjectUtil.setDirectoryName(findModel, dataContext);
|
||||
@@ -147,6 +147,7 @@ public class ReplaceInProjectManager {
|
||||
}
|
||||
else {
|
||||
findModel = model;
|
||||
findModel.setOpenInNewTabEnabled(isOpenInNewTabEnabled);
|
||||
}
|
||||
|
||||
findManager.showFindDialog(findModel, () -> {
|
||||
|
||||
Reference in New Issue
Block a user