mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
do not store stepic step id in study task manager
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.jetbrains.edu.learning;
|
||||
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.notification.Notification;
|
||||
import com.intellij.notification.NotificationListener;
|
||||
import com.intellij.notification.NotificationType;
|
||||
@@ -21,7 +22,6 @@ import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.startup.StartupManager;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
@@ -58,6 +58,7 @@ import java.util.Map;
|
||||
|
||||
import static com.jetbrains.edu.learning.StudyUtils.execCancelable;
|
||||
import static com.jetbrains.edu.learning.StudyUtils.navigateToStep;
|
||||
import static com.jetbrains.edu.learning.stepic.EduStepicNames.STEP_ID;
|
||||
|
||||
|
||||
public class StudyProjectComponent implements ProjectComponent {
|
||||
@@ -111,12 +112,7 @@ public class StudyProjectComponent implements ProjectComponent {
|
||||
|
||||
private void selectStep() {
|
||||
StartupManager.getInstance(myProject).runWhenProjectIsInitialized(() -> {
|
||||
Project defaultProject = ProjectManager.getInstance().getDefaultProject();
|
||||
if (myProject == defaultProject) {
|
||||
return;
|
||||
}
|
||||
StudyTaskManager defaultTaskManager = StudyTaskManager.getInstance(defaultProject);
|
||||
int stepId = defaultTaskManager.getStepId();
|
||||
int stepId = PropertiesComponent.getInstance().getInt(STEP_ID, 0);
|
||||
|
||||
if (stepId != 0) {
|
||||
StudyTaskManager taskManager = StudyTaskManager.getInstance(myProject);
|
||||
@@ -124,7 +120,6 @@ public class StudyProjectComponent implements ProjectComponent {
|
||||
if (course != null) {
|
||||
|
||||
navigateToStep(myProject, course, stepId);
|
||||
defaultTaskManager.setStepId(0);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -55,7 +55,6 @@ public class StudyTaskManager implements PersistentStateComponent<Element>, Dumb
|
||||
private boolean myTurnEditingMode = false;
|
||||
|
||||
@Transient private final Project myProject;
|
||||
@Transient private int myStepId;
|
||||
|
||||
public StudyTaskManager(Project project) {
|
||||
myProject = project;
|
||||
@@ -257,11 +256,4 @@ public class StudyTaskManager implements PersistentStateComponent<Element>, Dumb
|
||||
myTurnEditingMode = turnEditingMode;
|
||||
}
|
||||
|
||||
public void setStepId(int stepId) {
|
||||
myStepId = stepId;
|
||||
}
|
||||
|
||||
public int getStepId() {
|
||||
return myStepId;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -17,6 +17,7 @@ package com.jetbrains.edu.learning.builtInServer;
|
||||
|
||||
import com.intellij.ide.RecentProjectsManagerBase;
|
||||
import com.intellij.ide.impl.ProjectUtil;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.TransactionGuard;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -40,6 +41,7 @@ import java.util.List;
|
||||
|
||||
import static com.jetbrains.edu.learning.StudyUtils.navigateToStep;
|
||||
import static com.jetbrains.edu.learning.core.EduNames.STUDY_PROJECT_XML_PATH;
|
||||
import static com.jetbrains.edu.learning.stepic.EduStepicNames.STEP_ID;
|
||||
|
||||
public class EduBuiltInServerUtils {
|
||||
public static boolean focusOpenProject(int courseId, int stepId) {
|
||||
@@ -104,7 +106,7 @@ public class EduBuiltInServerUtils {
|
||||
int courseId = getCourseId(taskManager, component);
|
||||
|
||||
if (courseId == targetCourseId) {
|
||||
taskManager.setStepId(stepId);
|
||||
PropertiesComponent.getInstance().setValue(STEP_ID, stepId, 0);
|
||||
Project project = openProject(projectPath);
|
||||
if (project != null) {
|
||||
return true;
|
||||
@@ -146,7 +148,7 @@ public class EduBuiltInServerUtils {
|
||||
|
||||
public static boolean createProject(int courseId, int stepId) {
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
getDefaultTaskManager().setStepId(stepId);
|
||||
PropertiesComponent.getInstance().setValue(STEP_ID, stepId, 0);
|
||||
EduCreateNewProjectDialog createNewProjectDlg = new EduCreateNewStepikProjectDialog(courseId);
|
||||
createNewProjectDlg.show();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user