Open PyCharm window on successful authorization on Stepik

This commit is contained in:
Valentina Kiryushkina
2017-05-11 16:50:43 +03:00
parent bbc70156d3
commit 6d5ab11a88
@@ -17,9 +17,13 @@ package com.jetbrains.edu.learning.builtInServer;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.io.BufferExposingByteArrayOutputStream;
import com.intellij.openapi.util.io.StreamUtil;
import com.intellij.openapi.wm.IdeFrame;
import com.intellij.openapi.wm.WindowManager;
import com.intellij.ui.AppIcon;
import com.jetbrains.edu.learning.StudySettings;
import com.jetbrains.edu.learning.stepic.EduStepicAuthorizedClient;
import com.jetbrains.edu.learning.stepic.EduStepicConnector;
@@ -32,6 +36,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.ide.RestService;
import org.jetbrains.io.Responses;
import javax.swing.*;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
@@ -118,6 +123,8 @@ public class EduStepikRestService extends RestService {
StudySettings.getInstance().setUser(stepicUser);
sendHtmlResponse(request, context, "/oauthResponsePages/okPage.html");
showStepicNotification(NotificationType.INFORMATION, "Authorized as " + stepicUser.getFirstName() + " " + stepicUser.getLastName());
JFrame frame = WindowManager.getInstance().findVisibleFrame();
ApplicationManager.getApplication().invokeLater(() -> AppIcon.getInstance().requestFocus((IdeFrame)frame));
return null;
}
}