mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
filter console in background (IDEA-67945)
This commit is contained in:
@@ -28,6 +28,9 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.progress.Task;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
@@ -36,6 +39,7 @@ import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.ui.FilterComponent;
|
||||
import com.intellij.util.Alarm;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -53,6 +57,7 @@ import java.util.List;
|
||||
*/
|
||||
public abstract class LogConsoleBase extends AdditionalTabComponent implements LogConsole, LogFilterListener {
|
||||
private static final Logger LOG = Logger.getInstance("com.intellij.diagnostic.logging.LogConsoleImpl");
|
||||
@NonNls private static final String APPLYING_FILTER_TITLE = "Applying filter...";
|
||||
|
||||
private ConsoleView myConsole;
|
||||
private final LightProcessHandler myProcessHandler = new LightProcessHandler();
|
||||
@@ -61,6 +66,7 @@ public abstract class LogConsoleBase extends AdditionalTabComponent implements L
|
||||
private String myLineUnderSelection = null;
|
||||
private int myLineOffset = -1;
|
||||
private LogContentPreprocessor myContentPreprocessor;
|
||||
private final Project myProject;
|
||||
private String myTitle = null;
|
||||
private boolean myWasInitialized;
|
||||
private final JPanel myTopComponent = new JPanel(new BorderLayout());
|
||||
@@ -70,7 +76,13 @@ public abstract class LogConsoleBase extends AdditionalTabComponent implements L
|
||||
|
||||
private FilterComponent myFilter = new FilterComponent("LOG_FILTER_HISTORY", 5) {
|
||||
public void filter() {
|
||||
myModel.updateCustomFilter(getFilter());
|
||||
final Task.Backgroundable task = new Task.Backgroundable(myProject, APPLYING_FILTER_TITLE) {
|
||||
@Override
|
||||
public void run(@NotNull ProgressIndicator indicator) {
|
||||
myModel.updateCustomFilter(getFilter());
|
||||
}
|
||||
};
|
||||
ProgressManager.getInstance().run(task);
|
||||
}
|
||||
};
|
||||
private JPanel mySearchComponent;
|
||||
@@ -79,6 +91,7 @@ public abstract class LogConsoleBase extends AdditionalTabComponent implements L
|
||||
|
||||
public LogConsoleBase(Project project, @Nullable Reader reader, String title, final boolean buildInActions, LogFilterModel model) {
|
||||
super(new BorderLayout());
|
||||
myProject = project;
|
||||
myTitle = title;
|
||||
myModel = model;
|
||||
myReaderThread = new ReaderThread(reader);
|
||||
@@ -445,7 +458,13 @@ public abstract class LogConsoleBase extends AdditionalTabComponent implements L
|
||||
myLogFilterCombo.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
final LogFilter filter = (LogFilter)myLogFilterCombo.getSelectedItem();
|
||||
myModel.selectFilter(filter);
|
||||
final Task.Backgroundable task = new Task.Backgroundable(myProject, APPLYING_FILTER_TITLE) {
|
||||
@Override
|
||||
public void run(@NotNull ProgressIndicator indicator) {
|
||||
myModel.selectFilter(filter);
|
||||
}
|
||||
};
|
||||
ProgressManager.getInstance().run(task);
|
||||
}
|
||||
});
|
||||
myTextFilterWrapper.removeAll();
|
||||
|
||||
Reference in New Issue
Block a user