EDU-783 Subtasks: do not force focus on test file when switching

This commit is contained in:
Liana.Bakradze
2016-11-21 15:51:22 +03:00
parent 6b03906cf0
commit f69b942be4
@@ -1,5 +1,8 @@
package com.jetbrains.edu.coursecreator;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.io.FileUtil;
@@ -48,9 +51,22 @@ public class CCSubtaskChangeListener implements StudySubtaskChangeListener {
if (testFiles.isEmpty()) {
return;
}
Editor selectedTextEditor = editorManager.getSelectedTextEditor();
for (VirtualFile testFile : testFiles) {
editorManager.closeFile(testFile);
}
editorManager.openFile(newTestFile, false);
editorManager.openFile(newTestFile, true);
if (selectedTextEditor != null) {
reopenSelectedEditor(editorManager, selectedTextEditor);
}
}
private static void reopenSelectedEditor(FileEditorManager editorManager, Editor selectedTextEditor) {
Document document = selectedTextEditor.getDocument();
VirtualFile virtualFile = FileDocumentManager.getInstance().getFile(document);
if (virtualFile == null || !editorManager.isFileOpen(virtualFile)) {
return;
}
editorManager.openFile(virtualFile, true);
}
}