Skip to content

Commit 5908e90

Browse files
committed
Navigation bar displays login information
1 parent 2ab540f commit 5908e90

File tree

4 files changed

+28
-2
lines changed

4 files changed

+28
-2
lines changed

src/main/java/com/shuzijun/leetcode/plugin/actions/toolbar/LogoutAction.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
import com.intellij.openapi.actionSystem.AnActionEvent;
44
import com.shuzijun.leetcode.plugin.actions.AbstractAction;
5+
import com.shuzijun.leetcode.plugin.manager.ViewManager;
56
import com.shuzijun.leetcode.plugin.model.Config;
67
import com.shuzijun.leetcode.plugin.utils.*;
8+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
9+
10+
import javax.swing.*;
711

812
/**
913
* @author shuzijun
@@ -16,5 +20,10 @@ public void actionPerformed(AnActionEvent anActionEvent, Config config) {
1620
HttpResponse httpResponse = HttpRequestUtils.executeGet(httpRequest);
1721
HttpRequestUtils.resetHttpclient();
1822
MessageUtils.getInstance(anActionEvent.getProject()).showInfoMsg("info", PropertiesUtils.getInfo("login.out"));
23+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
24+
if(tree == null){
25+
return;
26+
}
27+
ViewManager.loadServiceData(tree, anActionEvent.getProject());
1928
}
2029
}

src/main/java/com/shuzijun/leetcode/plugin/manager/QuestionManager.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
import com.google.common.collect.ImmutableListMultimap;
88
import com.google.common.collect.Lists;
99
import com.google.common.collect.Multimaps;
10+
import com.intellij.openapi.application.ApplicationManager;
11+
import com.intellij.openapi.project.Project;
1012
import com.shuzijun.leetcode.plugin.model.Constant;
1113
import com.shuzijun.leetcode.plugin.model.Question;
1214
import com.shuzijun.leetcode.plugin.model.Tag;
1315
import com.shuzijun.leetcode.plugin.setting.PersistentConfig;
1416
import com.shuzijun.leetcode.plugin.utils.*;
17+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
1518
import org.apache.commons.lang.StringUtils;
1619

1720
import java.util.*;
@@ -29,13 +32,17 @@ public class QuestionManager {
2932
private final static String TRANSLATIONNAME = "translation.json";
3033

3134

32-
public static List<Question> getQuestionService() {
35+
public static List<Question> getQuestionService(Project project) {
3336
List<Question> questionList = null;
3437

3538
HttpRequest httpRequest = HttpRequest.get(URLUtils.getLeetcodeAll());
3639
HttpResponse response = HttpRequestUtils.executeGet(httpRequest);
3740
if (response != null && response.getStatusCode() == 200) {
3841
questionList = parseQuestion(response.getBody());
42+
JSONObject jsonObject = JSONObject.parseObject(response.getBody());
43+
ApplicationManager.getApplication().invokeAndWait(() -> {
44+
WindowFactory.updateTitle(project, jsonObject.getString("user_name"));
45+
});
3946
} else {
4047
LogUtils.LOG.error("Request question list failed, status:" + response == null ? "" : response.getStatusCode());
4148
}

src/main/java/com/shuzijun/leetcode/plugin/manager/ViewManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class ViewManager {
3535
private static boolean intersection = Boolean.FALSE;
3636

3737
public static void loadServiceData(JTree tree, Project project) {
38-
List<Question> questionList = QuestionManager.getQuestionService();
38+
List<Question> questionList = QuestionManager.getQuestionService(project);
3939
if (questionList == null || questionList.isEmpty()) {
4040
MessageUtils.getInstance(project).showWarnMsg("warning", PropertiesUtils.getInfo("response.cache"));
4141
questionList = QuestionManager.getQuestionCache();

src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.intellij.ui.content.Content;
1010
import com.intellij.ui.content.ContentFactory;
1111
import com.shuzijun.leetcode.plugin.listener.UpdatePluginListener;
12+
import org.apache.commons.lang.StringUtils;
1213
import org.jetbrains.annotations.NotNull;
1314

1415
import javax.swing.*;
@@ -37,4 +38,13 @@ public static DataContext getDataContext(@NotNull Project project) {
3738
return dataContext;
3839
}
3940

41+
public static void updateTitle(@NotNull Project project, String userName) {
42+
ToolWindow leetcodeToolWindows = ToolWindowManager.getInstance(project).getToolWindow(ID);
43+
if (StringUtils.isNotBlank(userName)) {
44+
leetcodeToolWindows.setTitle("[" + userName + "]");
45+
} else {
46+
leetcodeToolWindows.setTitle("");
47+
}
48+
}
49+
4050
}

0 commit comments

Comments
 (0)