mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
enable search in export-to-file dialog
This commit is contained in:
@@ -20,6 +20,14 @@ import com.intellij.ide.ExporterToTextFile;
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.openapi.components.PathMacroManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.EditorFactory;
|
||||
import com.intellij.openapi.editor.EditorSettings;
|
||||
import com.intellij.openapi.editor.ex.EditorEx;
|
||||
import com.intellij.openapi.editor.impl.DocumentImpl;
|
||||
import com.intellij.openapi.editor.impl.EditorFactoryImpl;
|
||||
import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.openapi.ide.CopyPasteManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
@@ -27,8 +35,8 @@ import com.intellij.openapi.ui.FixedSizeButton;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
@@ -105,8 +113,7 @@ public class ExportToFileUtil {
|
||||
public static class ExportDialogBase extends DialogWrapper {
|
||||
private final Project myProject;
|
||||
private final ExporterToTextFile myExporter;
|
||||
protected JTextArea myTextArea;
|
||||
protected JScrollPane myTextScrollPane;
|
||||
protected Editor myTextArea;
|
||||
protected JTextField myTfFile;
|
||||
protected JButton myFileButton;
|
||||
private ChangeListener myListener;
|
||||
@@ -140,20 +147,29 @@ public class ExportToFileUtil {
|
||||
|
||||
public void dispose() {
|
||||
myExporter.removeSettingsChangedListener(myListener);
|
||||
EditorFactory.getInstance().releaseEditor(myTextArea);
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
private void initText() {
|
||||
myTextArea.setText(myExporter.getReportText());
|
||||
myTextArea.getCaret().setDot(0);
|
||||
myTextArea.getDocument().setText(myExporter.getReportText());
|
||||
}
|
||||
|
||||
protected JComponent createCenterPanel() {
|
||||
myTextArea = new JTextArea();
|
||||
myTextArea.setEditable(false);
|
||||
myTextScrollPane = ScrollPaneFactory.createScrollPane(myTextArea);
|
||||
myTextScrollPane.setPreferredSize(new Dimension(400, 300));
|
||||
return myTextScrollPane;
|
||||
final Document document = ((EditorFactoryImpl)EditorFactory.getInstance()).createDocument(true);
|
||||
((DocumentImpl)document).setAcceptSlashR(true);
|
||||
|
||||
myTextArea = EditorFactory.getInstance().createEditor(document, myProject, StdFileTypes.PLAIN_TEXT, true);
|
||||
final EditorSettings settings = myTextArea.getSettings();
|
||||
settings.setLineNumbersShown(false);
|
||||
settings.setLineMarkerAreaShown(false);
|
||||
settings.setFoldingOutlineShown(false);
|
||||
settings.setRightMarginShown(false);
|
||||
settings.setAdditionalLinesCount(0);
|
||||
settings.setAdditionalColumnsCount(0);
|
||||
settings.setAdditionalPageAtBottom(false);
|
||||
((EditorEx)myTextArea).setBackgroundColor(UIUtil.getInactiveTextFieldBackgroundColor());
|
||||
return myTextArea.getComponent();
|
||||
}
|
||||
|
||||
protected JComponent createNorthPanel() {
|
||||
@@ -210,7 +226,7 @@ public class ExportToFileUtil {
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return myTextArea.getText();
|
||||
return myTextArea.getDocument().getText();
|
||||
}
|
||||
|
||||
public void setFileName(String s) {
|
||||
@@ -236,7 +252,7 @@ public class ExportToFileUtil {
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String s = StringUtil.convertLineSeparators(myTextArea.getText());
|
||||
String s = StringUtil.convertLineSeparators(getText());
|
||||
CopyPasteManager.getInstance().setContents(new StringSelection(s));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user