mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EDU-880 Get rid of getStudyProject
This commit is contained in:
@@ -43,7 +43,6 @@ public class StudyTaskManager implements PersistentStateComponent<Element>, 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<Element>, Dumb
|
||||
public void setTurnEditingMode(boolean turnEditingMode) {
|
||||
myTurnEditingMode = turnEditingMode;
|
||||
}
|
||||
|
||||
public boolean isEnableTestingFromSamples() {
|
||||
return myEnableTestingFromSamples;
|
||||
}
|
||||
|
||||
public void setEnableTestingFromSamples(boolean enableTestingFromSamples) {
|
||||
myEnableTestingFromSamples = enableTestingFromSamples;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
+13
-31
@@ -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())
|
||||
|
||||
+8
@@ -12,6 +12,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
public class StepicUpdateSettings implements PersistentStateComponent<StepicUpdateSettings> {
|
||||
private StepicUser myUser;
|
||||
public long LAST_TIME_CHECKED = 0;
|
||||
private boolean myEnableTestingFromSamples = false;
|
||||
|
||||
public StepicUpdateSettings() {
|
||||
}
|
||||
@@ -50,4 +51,11 @@ public class StepicUpdateSettings implements PersistentStateComponent<StepicUpda
|
||||
myUser = user;
|
||||
}
|
||||
|
||||
public boolean isEnableTestingFromSamples() {
|
||||
return myEnableTestingFromSamples;
|
||||
}
|
||||
|
||||
public void setEnableTestingFromSamples(boolean enableTestingFromSamples) {
|
||||
myEnableTestingFromSamples = enableTestingFromSamples;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -12,6 +12,7 @@ import com.intellij.openapi.editor.colors.EditorColorsScheme;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.io.StreamUtil;
|
||||
import com.jetbrains.edu.learning.StudyPluginConfigurator;
|
||||
import com.jetbrains.edu.learning.StudyUtils;
|
||||
import com.jetbrains.edu.learning.navigation.StudyNavigator;
|
||||
import javafx.application.Platform;
|
||||
import javafx.concurrent.Worker;
|
||||
@@ -134,7 +135,8 @@ public class StudyBrowserWindow extends JFrame {
|
||||
});
|
||||
}
|
||||
|
||||
public void loadContent(@NotNull final String content, @Nullable StudyPluginConfigurator configurator) {
|
||||
public void loadContent(@NotNull final String content) {
|
||||
StudyPluginConfigurator configurator = StudyUtils.getConfigurator(myProject);
|
||||
if (configurator == null) {
|
||||
Platform.runLater(() -> myEngine.loadContent(content));
|
||||
}
|
||||
|
||||
+1
-4
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user