do not show lesson if there are only one lesson and only one task

This commit is contained in:
Ekaterina Tuzova
2016-11-25 17:17:12 +03:00
parent 76ba60615d
commit ed0ca207ed
@@ -10,10 +10,13 @@ import com.jetbrains.edu.learning.core.EduNames;
import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.Lesson;
import com.jetbrains.edu.learning.courseFormat.StudyItem;
import com.jetbrains.edu.learning.courseFormat.Task;
import icons.InteractiveLearningIcons;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public class CourseDirectoryNode extends StudyDirectoryNode {
@NotNull protected final Project myProject;
@@ -51,6 +54,14 @@ public class CourseDirectoryNode extends StudyDirectoryNode {
@Override
public PsiDirectoryNode createChildDirectoryNode(StudyItem item, PsiDirectory directory) {
return new LessonDirectoryNode(myProject, directory, myViewSettings, (Lesson)item);
final List<Lesson> lessons = myCourse.getLessons();
final Lesson lesson = (Lesson)item;
if (lessons.size() == 1) {
final List<Task> tasks = lesson.getTaskList();
if (tasks.size() == 1) {
return new TaskDirectoryNode(myProject, (PsiDirectory)directory.getChildren()[0], myViewSettings, tasks.get(0));
}
}
return new LessonDirectoryNode(myProject, directory, myViewSettings, lesson);
}
}