Skip to content

Commit 2b386c0

Browse files
committed
fix shortcut key
1 parent fec29fa commit 2b386c0

22 files changed

+186
-69
lines changed

src/main/java/com/shuzijun/leetcode/plugin/actions/ClearOneAction.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.shuzijun.leetcode.plugin.actions;
22

33
import com.intellij.openapi.actionSystem.AnActionEvent;
4+
import com.shuzijun.leetcode.plugin.manager.ViewManager;
45
import com.shuzijun.leetcode.plugin.model.CodeTypeEnum;
56
import com.shuzijun.leetcode.plugin.model.Config;
67
import com.shuzijun.leetcode.plugin.model.Question;
@@ -9,9 +10,9 @@
910
import com.shuzijun.leetcode.plugin.utils.MessageUtils;
1011
import com.shuzijun.leetcode.plugin.utils.PropertiesUtils;
1112
import com.shuzijun.leetcode.plugin.utils.VelocityUtils;
13+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
1214

1315
import javax.swing.*;
14-
import javax.swing.tree.DefaultMutableTreeNode;
1516
import java.io.File;
1617

1718
/**
@@ -21,9 +22,11 @@ public class ClearOneAction extends AbstractAction {
2122
@Override
2223
public void actionPerformed(AnActionEvent anActionEvent, Config config) {
2324

24-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
25-
DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
26-
Question question = (Question) note.getUserObject();
25+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
26+
Question question = ViewManager.getTreeQuestion(tree);
27+
if (question == null) {
28+
return;
29+
}
2730

2831
String codeType = config.getCodeType();
2932
CodeTypeEnum codeTypeEnum = CodeTypeEnum.getCodeTypeEnum(codeType);

src/main/java/com/shuzijun/leetcode/plugin/actions/CollapseAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.intellij.openapi.actionSystem.AnActionEvent;
44
import com.shuzijun.leetcode.plugin.model.Config;
55
import com.shuzijun.leetcode.plugin.utils.DataKeys;
6+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
67

78
import javax.swing.*;
89

@@ -12,7 +13,7 @@
1213
public class CollapseAction extends AbstractAction {
1314
@Override
1415
public void actionPerformed(AnActionEvent anActionEvent, Config config) {
15-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
16+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
1617
if (tree == null) {
1718
return;
1819
}

src/main/java/com/shuzijun/leetcode/plugin/actions/FavoriteAction.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
import com.intellij.openapi.actionSystem.AnActionEvent;
44
import com.intellij.openapi.actionSystem.ToggleAction;
55
import com.shuzijun.leetcode.plugin.manager.FavoriteManager;
6+
import com.shuzijun.leetcode.plugin.manager.ViewManager;
67
import com.shuzijun.leetcode.plugin.model.Question;
78
import com.shuzijun.leetcode.plugin.model.Tag;
89
import com.shuzijun.leetcode.plugin.utils.DataKeys;
10+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
911
import org.jetbrains.annotations.Nullable;
1012

1113
import javax.swing.*;
12-
import javax.swing.tree.DefaultMutableTreeNode;
1314

1415
/**
1516
* @author shuzijun
@@ -26,17 +27,21 @@ public FavoriteAction(@Nullable String text, Tag tag) {
2627
@Override
2728
public boolean isSelected(AnActionEvent anActionEvent) {
2829

29-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
30-
DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
31-
Question question = (Question) note.getUserObject();
30+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
31+
Question question = ViewManager.getTreeQuestion(tree);
32+
if (question == null) {
33+
return false;
34+
}
3235
return tag.getQuestions().contains(question.getQuestionId());
3336
}
3437

3538
@Override
3639
public void setSelected(AnActionEvent anActionEvent, boolean b) {
37-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
38-
DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
39-
Question question = (Question) note.getUserObject();
40+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
41+
Question question = ViewManager.getTreeQuestion(tree);
42+
if (question == null) {
43+
return;
44+
}
4045
if (b) {
4146
FavoriteManager.addQuestionToFavorite(tag, question);
4247
}else {

src/main/java/com/shuzijun/leetcode/plugin/actions/FindAction.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.intellij.openapi.actionSystem.AnActionEvent;
44
import com.intellij.openapi.actionSystem.ToggleAction;
55
import com.shuzijun.leetcode.plugin.utils.DataKeys;
6+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
67

78
import javax.swing.*;
89

@@ -14,7 +15,7 @@ public class FindAction extends ToggleAction {
1415

1516
@Override
1617
public boolean isSelected(AnActionEvent anActionEvent) {
17-
JPanel panel = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TERRFIND);
18+
JPanel panel = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TERRFIND);
1819
if (panel == null) {
1920
return false;
2021
}
@@ -23,7 +24,7 @@ public boolean isSelected(AnActionEvent anActionEvent) {
2324

2425
@Override
2526
public void setSelected(AnActionEvent anActionEvent, boolean b) {
26-
JPanel panel = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TERRFIND);
27+
JPanel panel = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TERRFIND);
2728
if (panel == null) {
2829
return;
2930
}

src/main/java/com/shuzijun/leetcode/plugin/actions/FindClearAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.shuzijun.leetcode.plugin.manager.ViewManager;
66
import com.shuzijun.leetcode.plugin.model.Config;
77
import com.shuzijun.leetcode.plugin.utils.DataKeys;
8+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
89

910
import javax.swing.*;
1011

@@ -16,7 +17,7 @@ public class FindClearAction extends AbstractAction {
1617
@Override
1718
public void actionPerformed(AnActionEvent anActionEvent, Config config) {
1819

19-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
20+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
2021
if (tree == null) {
2122
return;
2223
}

src/main/java/com/shuzijun/leetcode/plugin/actions/FindConfigAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.intellij.openapi.actionSystem.ex.CheckboxAction;
66
import com.shuzijun.leetcode.plugin.manager.ViewManager;
77
import com.shuzijun.leetcode.plugin.utils.DataKeys;
8+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
89

910
import javax.swing.*;
1011

@@ -21,7 +22,7 @@ public boolean isSelected(AnActionEvent anActionEvent) {
2122
@Override
2223
public void setSelected(AnActionEvent anActionEvent, boolean b) {
2324
ViewManager.setIntersection(b);
24-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
25+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
2526
if (tree == null) {
2627
return;
2728
}

src/main/java/com/shuzijun/leetcode/plugin/actions/FindTagAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.shuzijun.leetcode.plugin.manager.ViewManager;
66
import com.shuzijun.leetcode.plugin.model.Tag;
77
import com.shuzijun.leetcode.plugin.utils.DataKeys;
8+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
89
import org.jetbrains.annotations.Nullable;
910

1011
import javax.swing.*;
@@ -29,7 +30,7 @@ public boolean isSelected(AnActionEvent anActionEvent) {
2930
@Override
3031
public void setSelected(AnActionEvent anActionEvent, boolean b) {
3132
tag.setSelect(b);
32-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
33+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
3334
if (tree == null) {
3435
return;
3536
}

src/main/java/com/shuzijun/leetcode/plugin/actions/LoginAction.java

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,25 @@
22

33
import com.intellij.openapi.actionSystem.AnActionEvent;
44
import com.intellij.openapi.application.ApplicationManager;
5+
import com.intellij.openapi.project.Project;
6+
import com.intellij.openapi.ui.DialogWrapper;
7+
import com.intellij.ui.components.JBPanel;
8+
import com.intellij.ui.components.JBScrollPane;
59
import com.shuzijun.leetcode.plugin.manager.ViewManager;
610
import com.shuzijun.leetcode.plugin.model.Config;
711
import com.shuzijun.leetcode.plugin.setting.PersistentConfig;
812
import com.shuzijun.leetcode.plugin.utils.*;
913
import com.shuzijun.leetcode.plugin.window.LoginPanel;
14+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
1015
import org.apache.commons.lang.StringUtils;
1116
import org.apache.http.client.methods.CloseableHttpResponse;
1217
import org.apache.http.client.methods.HttpGet;
1318
import org.apache.http.impl.cookie.BasicClientCookie;
19+
import org.jetbrains.annotations.NotNull;
20+
import org.jetbrains.annotations.Nullable;
1421

1522
import javax.swing.*;
23+
import java.awt.*;
1624
import java.util.List;
1725

1826
/**
@@ -31,7 +39,7 @@ public void perform(AnActionEvent anActionEvent, Config config) {
3139
return;
3240
}
3341
if (response.getStatusLine().getStatusCode() != 200) {
34-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
42+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
3543
ViewManager.loadServiceData(tree);
3644
MessageUtils.showWarnMsg("warning", PropertiesUtils.getInfo("request.failed"));
3745
return;
@@ -52,7 +60,7 @@ public void perform(AnActionEvent anActionEvent, Config config) {
5260
List<BasicClientCookie> cookieList = CookieUtils.toCookie(config.getCookie(config.getUrl() + config.getLoginName()));
5361
HttpClientUtils.setCookie(cookieList);
5462
if (HttpClientUtils.isLogin()) {
55-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
63+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
5664
ViewManager.loadServiceData(tree);
5765
MessageUtils.showInfoMsg("login", PropertiesUtils.getInfo("login.success"));
5866
return;
@@ -67,7 +75,7 @@ public void perform(AnActionEvent anActionEvent, Config config) {
6775
public void run() {
6876
LoginPanel dialog;
6977
try {
70-
dialog = new LoginPanel(anActionEvent.getProject(), anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE));
78+
dialog = new LoginPanel(anActionEvent.getProject(), WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE));
7179
} catch (RuntimeException e) {
7280
MessageUtils.showErrorMsg("error", e.getMessage());
7381
return;
@@ -79,4 +87,45 @@ public void run() {
7987

8088
}
8189

90+
91+
private class CookieLoginPanel extends DialogWrapper {
92+
93+
94+
private JPanel jpanel;
95+
private JTextArea cookieText;
96+
97+
protected CookieLoginPanel(@Nullable Project project) {
98+
super(project, true);
99+
jpanel = new JBPanel();
100+
cookieText = new JTextArea();
101+
cookieText.setMinimumSize(new Dimension(400, 200));
102+
cookieText.setPreferredSize(new Dimension(400, 200));
103+
jpanel.add(new JBScrollPane(cookieText, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
104+
105+
setModal(true);
106+
init();
107+
}
108+
109+
@Nullable
110+
@Override
111+
protected JComponent createCenterPanel() {
112+
return jpanel;
113+
}
114+
115+
@NotNull
116+
@Override
117+
protected Action getOKAction() {
118+
Action action = super.getOKAction();
119+
action.putValue(Action.NAME, "Login");
120+
return action;
121+
}
122+
123+
public boolean cookieLogin() {
124+
125+
126+
return Boolean.FALSE;
127+
}
128+
129+
}
130+
82131
}

src/main/java/com/shuzijun/leetcode/plugin/actions/OpenAction.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,25 @@
44
import com.intellij.openapi.application.ApplicationManager;
55
import com.intellij.openapi.project.Project;
66
import com.shuzijun.leetcode.plugin.manager.CodeManager;
7+
import com.shuzijun.leetcode.plugin.manager.ViewManager;
78
import com.shuzijun.leetcode.plugin.model.Config;
89
import com.shuzijun.leetcode.plugin.model.Question;
910
import com.shuzijun.leetcode.plugin.utils.DataKeys;
11+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
1012

1113
import javax.swing.*;
12-
import javax.swing.tree.DefaultMutableTreeNode;
1314

1415
/**
1516
* @author shuzijun
1617
*/
1718
public class OpenAction extends AbstractAction {
1819
@Override
1920
public void actionPerformed(AnActionEvent anActionEvent, Config config) {
20-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
21-
DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
22-
Question question = (Question) note.getUserObject();
23-
21+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
22+
Question question = ViewManager.getTreeQuestion(tree);
23+
if (question == null) {
24+
return;
25+
}
2426
Project project = anActionEvent.getProject();
2527

2628
ApplicationManager.getApplication().invokeLater(new Runnable() {

src/main/java/com/shuzijun/leetcode/plugin/actions/OpenContentAction.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
import com.intellij.openapi.application.ApplicationManager;
55
import com.intellij.openapi.project.Project;
66
import com.shuzijun.leetcode.plugin.manager.CodeManager;
7+
import com.shuzijun.leetcode.plugin.manager.ViewManager;
78
import com.shuzijun.leetcode.plugin.model.Config;
89
import com.shuzijun.leetcode.plugin.model.Question;
910
import com.shuzijun.leetcode.plugin.utils.DataKeys;
11+
import com.shuzijun.leetcode.plugin.window.WindowFactory;
1012

1113
import javax.swing.*;
12-
import javax.swing.tree.DefaultMutableTreeNode;
1314

1415
/**
1516
* @author shuzijun
@@ -18,10 +19,11 @@ public class OpenContentAction extends AbstractAction {
1819

1920
@Override
2021
public void actionPerformed(AnActionEvent anActionEvent, Config config) {
21-
JTree tree = anActionEvent.getData(DataKeys.LEETCODE_PROJECTS_TREE);
22-
DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
23-
Question question = (Question) note.getUserObject();
24-
22+
JTree tree = WindowFactory.getDataContext(anActionEvent.getProject()).getData(DataKeys.LEETCODE_PROJECTS_TREE);
23+
Question question = ViewManager.getTreeQuestion(tree);
24+
if (question == null) {
25+
return;
26+
}
2527
Project project = anActionEvent.getProject();
2628
ApplicationManager.getApplication().invokeLater(new Runnable() {
2729
@Override

0 commit comments

Comments
 (0)