import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
+import com.jetbrains.edu.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();
+ assert course != null;
setTitle("Create Course Archive");
- myPanel = new CreateCourseArchivePanel(project, this);
+ myPanel = new CreateCourseArchivePanel(project, this, course.getName());
myAction = action;
init();
}
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
+import com.intellij.openapi.util.io.FileUtil;
import com.jetbrains.edu.EduNames;
import org.jetbrains.annotations.NotNull;
private JLabel myErrorLabel;
private CreateCourseArchiveDialog myDlg;
- public CreateCourseArchivePanel(@NotNull final Project project, CreateCourseArchiveDialog dlg) {
+ public CreateCourseArchivePanel(@NotNull final Project project, CreateCourseArchiveDialog dlg, String name) {
setLayout(new BorderLayout());
add(myPanel, BorderLayout.CENTER);
myErrorIcon.setIcon(AllIcons.Actions.Lightning);
setState(false);
myDlg = dlg;
- myNameField.setText(EduNames.COURSE);
+ String sanitizedName = FileUtil.sanitizeFileName(name);
+ myNameField.setText(sanitizedName.startsWith("_") ? EduNames.COURSE : sanitizedName);
myLocationField.setText(project.getBasePath());
FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
myLocationField.addBrowseFolderListener("Choose location folder", null, project, descriptor);