mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
remove irrelevant tabs together (PY-22411)
otherwise they are closed one by one which looks weird
This commit is contained in:
@@ -40,6 +40,7 @@ import com.jetbrains.python.debugger.PyFrameAccessor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -71,14 +72,20 @@ public class PyDataView implements DumbAware {
|
||||
}
|
||||
|
||||
public void closeRelatedTabs(@NotNull PyDebugProcess process) {
|
||||
List<TabInfo> tabsToRemove = new ArrayList<>();
|
||||
for (TabInfo info : myTabs.getTabs()) {
|
||||
PyFrameAccessor frameAccessor = getPanel(info).getFrameAccessor();
|
||||
if (frameAccessor instanceof PyDebugProcess) {
|
||||
if (frameAccessor == process) {
|
||||
ApplicationManager.getApplication().invokeLater(() -> myTabs.removeTab(info));
|
||||
tabsToRemove.add(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
for (TabInfo info : tabsToRemove) {
|
||||
myTabs.removeTab(info);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void updateTabs(@NotNull ProcessHandler handler) {
|
||||
|
||||
Reference in New Issue
Block a user