Skip to content

Commit e9855d3

Browse files
authored
Merge pull request #446 from shuzijun/gradle
Add enter to open the question;
2 parents 1c2e18c + 6846bc3 commit e9855d3

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.shuzijun.leetcode.plugin.listener;
2+
3+
import com.intellij.openapi.progress.ProgressIndicator;
4+
import com.intellij.openapi.progress.ProgressManager;
5+
import com.intellij.openapi.progress.Task;
6+
import com.intellij.openapi.project.Project;
7+
import com.shuzijun.leetcode.plugin.manager.CodeManager;
8+
import com.shuzijun.leetcode.plugin.model.PluginConstant;
9+
import com.shuzijun.leetcode.plugin.model.Question;
10+
import com.shuzijun.leetcode.plugin.window.NavigatorTable;
11+
import org.jetbrains.annotations.NotNull;
12+
13+
import java.awt.event.KeyAdapter;
14+
import java.awt.event.KeyEvent;
15+
16+
/**
17+
* @author shuzijun
18+
*/
19+
public class JTableKeyAdapter extends KeyAdapter {
20+
21+
private NavigatorTable navigatorTable;
22+
private Project project;
23+
24+
public JTableKeyAdapter(NavigatorTable navigatorTable, Project project) {
25+
this.navigatorTable = navigatorTable;
26+
this.project = project;
27+
}
28+
29+
@Override
30+
public void keyTyped(KeyEvent e) {
31+
Question question = navigatorTable.getSelectedRowData();
32+
if (question != null) {
33+
if (e.getKeyChar() == KeyEvent.VK_ENTER) {
34+
ProgressManager.getInstance().run(new Task.Backgroundable(project, PluginConstant.LEETCODE_EDITOR_OPEN_CODE, false) {
35+
@Override
36+
public void run(@NotNull ProgressIndicator progressIndicator) {
37+
CodeManager.openCode(question, project);
38+
}
39+
});
40+
}
41+
}
42+
}
43+
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.intellij.openapi.project.Project;
88
import com.intellij.ui.components.JBScrollPane;
99
import com.intellij.ui.table.JBTable;
10+
import com.shuzijun.leetcode.plugin.listener.JTableKeyAdapter;
1011
import com.shuzijun.leetcode.plugin.listener.QuestionStatusListener;
1112
import com.shuzijun.leetcode.plugin.listener.TreeMouseListener;
1213
import com.shuzijun.leetcode.plugin.manager.ViewManager;
@@ -123,6 +124,7 @@ public Component prepareRenderer(TableCellRenderer renderer, int row, int column
123124
table.setRowSelectionAllowed(true);
124125
table.setFillsViewportHeight(true);
125126
table.addMouseListener(new TreeMouseListener(this, project));
127+
table.addKeyListener(new JTableKeyAdapter(this, project));
126128
table.setRowHeight(0, 200);
127129

128130
this.add(new JBScrollPane(table, JBScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JBScrollPane.HORIZONTAL_SCROLLBAR_NEVER), BorderLayout.CENTER);

0 commit comments

Comments
 (0)