diff --git a/src/main/java/edu/kit/kastel/extensions/settings/ArtemisCredentialsProvider.java b/src/main/java/edu/kit/kastel/extensions/settings/ArtemisCredentialsProvider.java index 58db474..df3f97c 100644 --- a/src/main/java/edu/kit/kastel/extensions/settings/ArtemisCredentialsProvider.java +++ b/src/main/java/edu/kit/kastel/extensions/settings/ArtemisCredentialsProvider.java @@ -1,3 +1,4 @@ +/* Licensed under EPL-2.0 2024. */ package edu.kit.kastel.extensions.settings; import com.intellij.credentialStore.CredentialAttributes; @@ -62,7 +63,7 @@ private CredentialAttributes createCredentialAttributes(String key) { } private void waitForInitialization() { - synchronized(this) { + synchronized (this) { while (!initialized) { try { this.wait(); diff --git a/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettings.java b/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettings.java index 56602f1..4c774ec 100644 --- a/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettings.java +++ b/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettings.java @@ -1,6 +1,13 @@ /* Licensed under EPL-2.0 2024. */ package edu.kit.kastel.extensions.settings; +import java.util.Objects; + +import javax.swing.ButtonGroup; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JSeparator; + import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; @@ -19,12 +26,6 @@ import net.miginfocom.swing.MigLayout; import org.jetbrains.annotations.Nullable; -import javax.swing.ButtonGroup; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JSeparator; -import java.util.Objects; - /** * This class implements the settings Dialog for this PlugIn. * Everything directly related to the Setting UI should be in here. diff --git a/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettingsState.java b/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettingsState.java index ab7b30d..bb91696 100644 --- a/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettingsState.java +++ b/src/main/java/edu/kit/kastel/extensions/settings/ArtemisSettingsState.java @@ -4,10 +4,6 @@ import java.awt.Color; import java.util.Date; -import com.intellij.credentialStore.CredentialAttributes; -import com.intellij.credentialStore.CredentialAttributesKt; -import com.intellij.credentialStore.Credentials; -import com.intellij.ide.passwordSafe.PasswordSafe; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; @@ -15,7 +11,6 @@ import com.intellij.ui.JBColor; import com.intellij.util.xmlb.XmlSerializer; import com.intellij.util.xmlb.XmlSerializerUtil; -import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/edu/kit/kastel/listeners/OnStartupCompleted.java b/src/main/java/edu/kit/kastel/listeners/OnStartupCompleted.java index bd29750..096d0e9 100644 --- a/src/main/java/edu/kit/kastel/listeners/OnStartupCompleted.java +++ b/src/main/java/edu/kit/kastel/listeners/OnStartupCompleted.java @@ -1,9 +1,11 @@ /* Licensed under EPL-2.0 2024. */ package edu.kit.kastel.listeners; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.ProjectActivity; +import com.intellij.openapi.wm.ToolWindowManager; import edu.kit.kastel.highlighter.HighlighterManager; import kotlin.Unit; import kotlin.coroutines.Continuation; @@ -15,6 +17,12 @@ public class OnStartupCompleted implements ProjectActivity, DumbAware { @Override public Object execute(@NotNull Project project, @NotNull Continuation continuation) { HighlighterManager.initialize(); + + // Open the Artemis tool window + ApplicationManager.getApplication().invokeLater(() -> ToolWindowManager.getInstance(project) + .getToolWindow("Artemis") + .show()); + return null; } } diff --git a/src/main/java/edu/kit/kastel/login/CefUtils.java b/src/main/java/edu/kit/kastel/login/CefUtils.java index 955d514..58c20ee 100644 --- a/src/main/java/edu/kit/kastel/login/CefUtils.java +++ b/src/main/java/edu/kit/kastel/login/CefUtils.java @@ -1,6 +1,11 @@ /* Licensed under EPL-2.0 2024. */ package edu.kit.kastel.login; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; + +import javax.swing.SwingUtilities; + import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.util.Disposer; import com.intellij.ui.jcef.JBCefApp; @@ -11,10 +16,6 @@ import org.cef.CefApp; import org.cef.handler.CefFocusHandler; -import javax.swing.SwingUtilities; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; - public final class CefUtils { private static JBCefClient browserClient = JBCefApp.getInstance().createClient(); diff --git a/src/main/java/edu/kit/kastel/state/ActiveAssessment.java b/src/main/java/edu/kit/kastel/state/ActiveAssessment.java index 988586d..14438d3 100644 --- a/src/main/java/edu/kit/kastel/state/ActiveAssessment.java +++ b/src/main/java/edu/kit/kastel/state/ActiveAssessment.java @@ -138,7 +138,9 @@ public void run(@NotNull ProgressIndicator indicator) { return; } } else { - ArtemisUtils.displayGenericWarningBalloon("Autograder Already Loaded", "Not reloading it from the specified file. Restart the IDE to reload it."); + ArtemisUtils.displayGenericWarningBalloon( + "Autograder Already Loaded", + "Not reloading it from the specified file. Restart the IDE to reload it."); } }