diff --git a/python/edu/learn-python/src/com/jetbrains/python/edu/StudyEditorFactoryListener.java b/python/edu/learn-python/src/com/jetbrains/python/edu/StudyEditorFactoryListener.java index fb3fc5f3c6f1..70612a70eddc 100644 --- a/python/edu/learn-python/src/com/jetbrains/python/edu/StudyEditorFactoryListener.java +++ b/python/edu/learn-python/src/com/jetbrains/python/edu/StudyEditorFactoryListener.java @@ -17,7 +17,6 @@ import com.intellij.openapi.editor.event.EditorMouseEvent; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.jetbrains.python.edu.course.StudyStatus; import com.jetbrains.python.edu.course.TaskFile; import com.jetbrains.python.edu.course.TaskWindow; import com.jetbrains.python.edu.editor.StudyEditor; @@ -46,7 +45,7 @@ class StudyEditorFactoryListener implements EditorFactoryListener { TaskWindow taskWindow = myTaskFile.getTaskWindow(editor.getDocument(), pos); if (taskWindow != null) { myTaskFile.setSelectedTaskWindow(taskWindow); - taskWindow.draw(editor, taskWindow.getStatus() != StudyStatus.Solved, true); + taskWindow.draw(editor, false, false); } else { myTaskFile.drawAllWindows(editor); diff --git a/python/edu/learn-python/src/com/jetbrains/python/edu/actions/StudyWindowNavigationAction.java b/python/edu/learn-python/src/com/jetbrains/python/edu/actions/StudyWindowNavigationAction.java index 8c6b90221555..e401fcee021f 100644 --- a/python/edu/learn-python/src/com/jetbrains/python/edu/actions/StudyWindowNavigationAction.java +++ b/python/edu/learn-python/src/com/jetbrains/python/edu/actions/StudyWindowNavigationAction.java @@ -39,7 +39,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction { if (nextTaskWindow == null) { return; } - nextTaskWindow.draw(selectedEditor, true, true); + selectedTaskFile.navigateToTaskWindow(selectedEditor, nextTaskWindow); selectedTaskFile.setSelectedTaskWindow(nextTaskWindow); } } @@ -50,7 +50,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction { protected abstract TaskWindow getNextTaskWindow(@NotNull final TaskWindow window); @Override - public void actionPerformed(AnActionEvent e) { + public void actionPerformed(@NotNull AnActionEvent e) { Project project = e.getProject(); if (project == null) { return; @@ -59,7 +59,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction { } @Override - public void update(AnActionEvent e) { + public void update(@NotNull AnActionEvent e) { StudyUtils.updateAction(e); } } diff --git a/python/edu/learn-python/src/com/jetbrains/python/edu/course/TaskFile.java b/python/edu/learn-python/src/com/jetbrains/python/edu/course/TaskFile.java index e9281e957855..7ca1c4c0766e 100644 --- a/python/edu/learn-python/src/com/jetbrains/python/edu/course/TaskFile.java +++ b/python/edu/learn-python/src/com/jetbrains/python/edu/course/TaskFile.java @@ -192,16 +192,13 @@ public class TaskFile implements Stateful { } } - private void navigateToTaskWindow(@NotNull final Editor editor, @NotNull final TaskWindow firstTaskWindow) { - if (!firstTaskWindow.isValid(editor.getDocument())) { + public void navigateToTaskWindow(@NotNull final Editor editor, @NotNull final TaskWindow taskWindow) { + if (!taskWindow.isValid(editor.getDocument())) { return; } - mySelectedTaskWindow = firstTaskWindow; - LogicalPosition taskWindowStart = new LogicalPosition(firstTaskWindow.getLine(), firstTaskWindow.getStart()); + mySelectedTaskWindow = taskWindow; + LogicalPosition taskWindowStart = new LogicalPosition(taskWindow.getLine(), taskWindow.getStart()); editor.getCaretModel().moveToLogicalPosition(taskWindowStart); - int startOffset = firstTaskWindow.getRealStartOffset(editor.getDocument()); - int endOffset = startOffset + firstTaskWindow.getLength(); - editor.getSelectionModel().setSelection(startOffset, endOffset); } public void navigateToFirstFailedTaskWindow(@NotNull final Editor editor) {