diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java index 574981ead8dd..16d951c23474 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyTaskManager.java @@ -43,7 +43,6 @@ public class StudyTaskManager implements PersistentStateComponent, Dumb public boolean myShouldUseJavaFx = StudyUtils.hasJavaFx(); private StudyToolWindow.StudyToolWindowMode myToolWindowMode = StudyToolWindow.StudyToolWindowMode.TEXT; private boolean myTurnEditingMode = false; - private boolean myEnableTestingFromSamples = false; @Transient private final Project myProject; @@ -196,12 +195,5 @@ public class StudyTaskManager implements PersistentStateComponent, Dumb public void setTurnEditingMode(boolean turnEditingMode) { myTurnEditingMode = turnEditingMode; } - - public boolean isEnableTestingFromSamples() { - return myEnableTestingFromSamples; - } - public void setEnableTestingFromSamples(boolean enableTestingFromSamples) { - myEnableTestingFromSamples = enableTestingFromSamples; - } } diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java index 01bb59008343..0bb0c542d6f8 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/StudyUtils.java @@ -25,7 +25,6 @@ import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx; import com.intellij.openapi.fileEditor.impl.LoadTextUtil; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.popup.Balloon; @@ -620,18 +619,6 @@ public class StudyUtils { return course != null && EduNames.STUDY.equals(course.getCourseMode()); } - @Nullable - public static Project getStudyProject() { - Project studyProject = null; - Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); - for (Project project : openProjects) { - if (StudyTaskManager.getInstance(project).getCourse() != null) { - studyProject = project; - } - } - return studyProject; - } - @NotNull public static File getCourseDirectory(Course course) { final File courseDirectory; diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/checker/StudyCheckTask.java b/python/educational-core/student/src/com/jetbrains/edu/learning/checker/StudyCheckTask.java index e74bfdd19cd7..55227127c186 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/checker/StudyCheckTask.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/checker/StudyCheckTask.java @@ -171,7 +171,7 @@ public class StudyCheckTask extends com.intellij.openapi.progress.Task.Backgroun if (testOutput != null) { // As tests in adaptive courses are created from // samples and stored in task, to disable it we should ignore local testing results - if (StudyTaskManager.getInstance(myProject).isEnableTestingFromSamples() && !testOutput.isSuccess()) { + if (StepicUpdateSettings.getInstance().isEnableTestingFromSamples() && !testOutput.isSuccess()) { onTaskFailed(testOutput.getMessage()); } else { diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicStudyOptions.java b/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicStudyOptions.java index 73d4ac5dff8f..34b2e472feac 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicStudyOptions.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicStudyOptions.java @@ -17,12 +17,9 @@ package com.jetbrains.edu.learning.stepic; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.progress.ProgressManager; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ProjectUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.DocumentAdapter; import com.intellij.ui.components.JBCheckBox; -import com.jetbrains.edu.learning.StudyTaskManager; import com.jetbrains.edu.learning.StudyUtils; import com.jetbrains.edu.learning.settings.StudyOptionsProvider; import org.jetbrains.annotations.NotNull; @@ -38,7 +35,6 @@ public class StepicStudyOptions implements StudyOptionsProvider { private JPasswordField myPasswordField; private JPanel myPane; private JBCheckBox myEnableTestingFromSamples; - private final Project myProject; public StepicStudyOptions() { myLoginTextField.getDocument().addDocumentListener(new DocumentAdapter() { @@ -47,10 +43,7 @@ public class StepicStudyOptions implements StudyOptionsProvider { erasePassword(); } }); - myProject = StudyUtils.getStudyProject(); - if (myProject == null) { - myEnableTestingFromSamples.setEnabled(false); - } + myEnableTestingFromSamples.setEnabled(false); } private void erasePassword() { @@ -86,12 +79,9 @@ public class StepicStudyOptions implements StudyOptionsProvider { @Override public void reset() { - Project project = StudyUtils.getStudyProject(); - if (project != null) { - StudyTaskManager taskManager = StudyTaskManager.getInstance(project); - myEnableTestingFromSamples.setSelected(taskManager.isEnableTestingFromSamples()); - } - final StepicUser user = StepicUpdateSettings.getInstance().getUser(); + final StepicUpdateSettings stepikSettings = StepicUpdateSettings.getInstance(); + myEnableTestingFromSamples.setSelected(stepikSettings.isEnableTestingFromSamples()); + final StepicUser user = stepikSettings.getUser(); setLogin(user.getEmail()); setPassword(user.getPassword()); } @@ -103,15 +93,12 @@ public class StepicStudyOptions implements StudyOptionsProvider { @Override public void apply() throws ConfigurationException { - if (myProject != null) { - StudyTaskManager taskManager = StudyTaskManager.getInstance(myProject); - - if (isTestingFromSamplesEnabled() != taskManager.isEnableTestingFromSamples()) { - taskManager.setEnableTestingFromSamples(isTestingFromSamplesEnabled()); - } + final StepicUpdateSettings stepikSettings = StepicUpdateSettings.getInstance(); + if (isTestingFromSamplesEnabled() != stepikSettings.isEnableTestingFromSamples()) { + stepikSettings.setEnableTestingFromSamples(isTestingFromSamplesEnabled()); } - final StepicUser user = StepicUpdateSettings.getInstance().getUser(); + final StepicUser user = stepikSettings.getUser(); final boolean isCredentialsModified = !getLogin().equals(user.getEmail()) || !getPassword().equals(user.getPassword()); if (isCredentialsModified) { final String login = getLogin(); @@ -119,16 +106,15 @@ public class StepicStudyOptions implements StudyOptionsProvider { if (!StringUtil.isEmptyOrSpaces(login) && !StringUtil.isEmptyOrSpaces(password)) { // login to post credentials final StepicUser[] stepicUser = new StepicUser[1]; - final Project project = myProject == null ? ProjectUtil.guessCurrentProject(myPane) : myProject; ProgressManager.getInstance().runProcessWithProgressSynchronously( () -> { ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true); stepicUser[0] = StudyUtils.execCancelable(() -> EduStepicAuthorizedClient.login(login, password)); }, "Logging In", true, - project); + null); if (stepicUser[0] != null && stepicUser[0].getAccessToken() != null) { - StepicUpdateSettings.getInstance().setUser(stepicUser[0]); + stepikSettings.setUser(stepicUser[0]); } else { throw new ConfigurationException("Unable to login"); @@ -152,13 +138,9 @@ public class StepicStudyOptions implements StudyOptionsProvider { } public boolean isModified() { - final Project project = StudyUtils.getStudyProject(); - boolean isTestOptionModified = false; - if (project != null) { - final StudyTaskManager taskManager = StudyTaskManager.getInstance(project); - isTestOptionModified = !isTestingFromSamplesEnabled() == taskManager.isEnableTestingFromSamples(); - } - final StepicUser user = StepicUpdateSettings.getInstance().getUser(); + final StepicUpdateSettings stepikSettings = StepicUpdateSettings.getInstance(); + boolean isTestOptionModified = !isTestingFromSamplesEnabled() == stepikSettings.isEnableTestingFromSamples(); + final StepicUser user = stepikSettings.getUser(); return !getLogin().equals(user.getEmail()) || !getPassword().equals(user.getPassword()) diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicUpdateSettings.java b/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicUpdateSettings.java index dacbeecc9602..56b26f0377bf 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicUpdateSettings.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/stepic/StepicUpdateSettings.java @@ -12,6 +12,7 @@ import org.jetbrains.annotations.Nullable; public class StepicUpdateSettings implements PersistentStateComponent { private StepicUser myUser; public long LAST_TIME_CHECKED = 0; + private boolean myEnableTestingFromSamples = false; public StepicUpdateSettings() { } @@ -50,4 +51,11 @@ public class StepicUpdateSettings implements PersistentStateComponent myEngine.loadContent(content)); } diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/ui/StudyJavaFxToolWindow.java b/python/educational-core/student/src/com/jetbrains/edu/learning/ui/StudyJavaFxToolWindow.java index 4c9fb7a77f68..9856023fdabb 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/ui/StudyJavaFxToolWindow.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/ui/StudyJavaFxToolWindow.java @@ -15,8 +15,6 @@ */ package com.jetbrains.edu.learning.ui; import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ProjectUtil; -import com.jetbrains.edu.learning.StudyPluginConfigurator; import com.jetbrains.edu.learning.StudyUtils; import org.jetbrains.annotations.NotNull; @@ -49,7 +47,6 @@ public class StudyJavaFxToolWindow extends StudyToolWindow { @Override public void setText(@NotNull String text) { - StudyPluginConfigurator configurator = StudyUtils.getConfigurator(ProjectUtil.guessCurrentProject(this)); - myBrowserWindow.loadContent(text, configurator); + myBrowserWindow.loadContent(text); } }