import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
+import com.jetbrains.edu.learning.StudyUtils;
import com.jetbrains.edu.learning.courseFormat.Task;
-import com.jetbrains.edu.coursecreator.CCProjectService;
public class CCAddAsTaskFile extends AnAction {
@Override
if (file == null) {
return;
}
- Task task = CCProjectService.getInstance(project).getTask(file);
+ Task task = StudyUtils.getTask(project, file);
if (task == null) {
return;
}
return;
}
VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
- if (file == null || file.isDirectory() || CCProjectService.getInstance(project).getTaskFile(file) != null) {
+ if (file == null || file.isDirectory() || StudyUtils.getTaskFile(project, file) != null) {
presentation.setEnabledAndVisible(false);
}
}
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.LangDataKeys;
+import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.util.containers.HashMap;
import com.intellij.util.io.ZipUtil;
+import com.jetbrains.edu.learning.StudyTaskManager;
import com.jetbrains.edu.learning.core.EduNames;
import com.jetbrains.edu.learning.core.EduUtils;
import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.Task;
import com.jetbrains.edu.learning.courseFormat.TaskFile;
import com.jetbrains.edu.coursecreator.CCLanguageManager;
-import com.jetbrains.edu.coursecreator.CCProjectService;
import com.jetbrains.edu.coursecreator.CCUtils;
import com.jetbrains.edu.coursecreator.ui.CreateCourseArchiveDialog;
import org.jetbrains.annotations.NotNull;
@Override
public void update(@NotNull AnActionEvent e) {
- CCProjectService.setCCActionAvailable(e);
+ Presentation presentation = e.getPresentation();
+ Project project = e.getProject();
+ presentation.setEnabledAndVisible(project != null && CCUtils.isCourseCreator(project));
}
@Override
}
private void createCourseArchive(final Project project, Module module) {
- final CCProjectService service = CCProjectService.getInstance(project);
- final Course course = service.getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
if (course == null) return;
CreateCourseArchiveDialog dlg = new CreateCourseArchiveDialog(project, this);
dlg.show();
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed")
private static void generateJson(@NotNull final Project project, VirtualFile parentDir) {
- final CCProjectService service = CCProjectService.getInstance(project);
- final Course course = service.getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
final Gson gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create();
final String json = gson.toJson(course);
final File courseJson = new File(parentDir.getPath(), EduNames.COURSE_META_FILE);
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiElement;
+import com.jetbrains.edu.learning.StudyTaskManager;
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.Task;
import com.jetbrains.edu.coursecreator.CCLanguageManager;
-import com.jetbrains.edu.coursecreator.CCProjectService;
import com.jetbrains.edu.coursecreator.CCUtils;
import com.jetbrains.edu.coursecreator.ui.CreateTaskFileDialog;
import org.jetbrains.annotations.NotNull;
if (lessonDir == null) {
return;
}
- final CCProjectService service = CCProjectService.getInstance(project);
- final Course course = service.getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
final Lesson lesson = course.getLesson(lessonDir.getName());
final Task task = lesson.getTask(taskDir.getName());
@Override
public void update(@NotNull AnActionEvent event) {
- if (!CCProjectService.setCCActionAvailable(event)) {
- return;
- }
final Presentation presentation = event.getPresentation();
+ presentation.setEnabledAndVisible(false);
final Project project = event.getData(CommonDataKeys.PROJECT);
if (project == null) {
- presentation.setVisible(false);
- presentation.setEnabled(false);
return;
}
-
final IdeView view = event.getData(LangDataKeys.IDE_VIEW);
if (view == null) {
- presentation.setVisible(false);
- presentation.setEnabled(false);
return;
}
final PsiDirectory[] directories = view.getDirectories();
if (directories.length == 0) {
- presentation.setVisible(false);
- presentation.setEnabled(false);
return;
}
final PsiDirectory directory = DirectoryChooserUtil.getOrChooseDirectory(view);
- final CCProjectService service = CCProjectService.getInstance(project);
- final Course course = service.getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
if (course != null && directory != null && !directory.getName().contains(EduNames.TASK)) {
- presentation.setVisible(false);
- presentation.setEnabled(false);
return;
}
- presentation.setVisible(true);
- presentation.setEnabled(true);
+ presentation.setEnabledAndVisible(true);
}
}
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
-import com.jetbrains.edu.coursecreator.CCProjectService;
+import com.jetbrains.edu.coursecreator.CCUtils;
import com.jetbrains.edu.learning.StudyState;
import com.jetbrains.edu.learning.StudyTaskManager;
import com.jetbrains.edu.learning.StudyUtils;
return;
}
- if (CCProjectService.getInstance(project).getCourse() == null) {
+ if (!CCUtils.isCourseCreator(project)) {
e.getPresentation().setEnabledAndVisible(false);
}
}
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.LangDataKeys;
+import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
+import com.jetbrains.edu.coursecreator.CCUtils;
+import com.jetbrains.edu.learning.StudyTaskManager;
import com.jetbrains.edu.learning.courseFormat.Course;
-import com.jetbrains.edu.coursecreator.CCProjectService;
import com.jetbrains.edu.learning.stepic.EduStepicConnector;
import org.jetbrains.annotations.NotNull;
@Override
public void update(@NotNull AnActionEvent e) {
- CCProjectService.setCCActionAvailable(e);
+ Presentation presentation = e.getPresentation();
+ Project project = e.getProject();
+ presentation.setEnabledAndVisible(project != null && CCUtils.isCourseCreator(project));
}
@Override
if (view == null || project == null) {
return;
}
- final Course course = CCProjectService.getInstance(project).getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
if (course == null) {
return;
}
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiDirectory;
+import com.jetbrains.edu.learning.StudyTaskManager;
import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.Lesson;
-import com.jetbrains.edu.coursecreator.CCProjectService;
import com.jetbrains.edu.learning.stepic.EduStepicConnector;
import org.jetbrains.annotations.NotNull;
if (view == null || project == null) {
return;
}
- final Course course = CCProjectService.getInstance(project).getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
if (course == null) {
return;
}
if (view == null || project == null) {
return;
}
- final Course course = CCProjectService.getInstance(project).getCourse();
+ final Course course = StudyTaskManager.getInstance(project).getCourse();
if (course == null) {
return;
}
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiFile;
import com.intellij.ui.JBColor;
+import com.jetbrains.edu.learning.StudyTaskManager;
+import com.jetbrains.edu.learning.StudyUtils;
import com.jetbrains.edu.learning.core.EduAnswerPlaceholderPainter;
import com.jetbrains.edu.learning.core.EduUtils;
import com.jetbrains.edu.learning.courseFormat.AnswerPlaceholder;
import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.TaskFile;
-import com.jetbrains.edu.coursecreator.CCProjectService;
import com.jetbrains.edu.coursecreator.CCUtils;
import org.jetbrains.annotations.NotNull;
@Override
public void update(@NotNull AnActionEvent e) {
- if (!CCProjectService.setCCActionAvailable(e)) {
- return;
- }
+ Presentation presentation = e.getPresentation();
+ presentation.setEnabledAndVisible(false);
Project project = e.getProject();
if (project == null) {
return;
}
- Presentation presentation = e.getPresentation();
- presentation.setEnabledAndVisible(false);
+ if (!CCUtils.isCourseCreator(project)) {
+ return;
+ }
final PsiFile file = CommonDataKeys.PSI_FILE.getData(e.getDataContext());
- if (file != null && CCProjectService.getInstance(project).getTaskFile(file.getVirtualFile()) != null) {
+ if (file != null && StudyUtils.getTaskFile(project, file.getVirtualFile()) != null) {
presentation.setEnabledAndVisible(true);
}
}
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
- //TODO: need to rewrite this action using new GENERATED_ROOT_FOLDER
final Project project = e.getProject();
Module module = LangDataKeys.MODULE.getData(e.getDataContext());
if (project == null || module == null) {
if (file == null) {
return;
}
- final CCProjectService service = CCProjectService.getInstance(project);
- Course course = service.getCourse();
+ Course course = StudyTaskManager.getInstance(project).getCourse();
if (course == null) {
return;
}
VirtualFile virtualFile = file.getVirtualFile();
- TaskFile taskFile = service.getTaskFile(virtualFile);
+ TaskFile taskFile = StudyUtils.getTaskFile(project, virtualFile);
if (taskFile == null) {
return;
}
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
+import com.jetbrains.edu.learning.StudyTaskManager;
import com.jetbrains.edu.learning.courseFormat.Course;
-import com.jetbrains.edu.coursecreator.CCProjectService;
import com.jetbrains.edu.coursecreator.actions.CCCreateCourseArchive;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public CreateCourseArchiveDialog(@NotNull final Project project, CCCreateCourseArchive action) {
super(project);
- Course course = CCProjectService.getInstance(project).getCourse();
+ Course course = StudyTaskManager.getInstance(project).getCourse();
assert course != null;
setTitle("Create Course Archive");
myPanel = new CreateCourseArchivePanel(project, this, course.getName());
myNameField.setText(sanitizedName.startsWith("_") ? EduNames.COURSE : sanitizedName);
myLocationField.setText(project.getBasePath());
FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
- myLocationField.addBrowseFolderListener("Choose location folder", null, project, descriptor);
+ myLocationField.addBrowseFolderListener("Choose Location Folder", null, project, descriptor);
myLocationField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {