Skip to content

Commit 1c2e18c

Browse files
authored
Merge pull request #445 from shuzijun/gradle
fix bug
2 parents a1a1c6f + 5b216d1 commit 1c2e18c

File tree

2 files changed

+32
-13
lines changed

2 files changed

+32
-13
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.shuzijun.leetcode.plugin.utils.PropertiesUtils;
88
import com.shuzijun.leetcode.plugin.utils.URLUtils;
99
import com.shuzijun.leetcode.plugin.window.NavigatorTable;
10+
import org.apache.commons.collections.CollectionUtils;
1011
import org.apache.commons.lang3.StringUtils;
1112

1213
import java.util.List;
@@ -45,7 +46,20 @@ public static void loadServiceData(NavigatorTable navigatorTable, Project projec
4546
filter.put(Constant.FIND_TYPE_STATUS, QuestionManager.getStatus());
4647
filter.put(Constant.FIND_TYPE_TAGS, QuestionManager.getTags());
4748
}
48-
filter.put(Constant.FIND_TYPE_LISTS, QuestionManager.getLists());
49+
if (CollectionUtils.isNotEmpty(filter.get(Constant.FIND_TYPE_LISTS))) {
50+
Map<String, Tag> oldListsMap = Maps.uniqueIndex(filter.get(Constant.FIND_TYPE_LISTS), tag -> tag.getSlug());
51+
List<Tag> newLists = QuestionManager.getLists();
52+
Map<String, Tag> newListsMap = Maps.uniqueIndex(newLists, tag -> tag.getSlug());
53+
newListsMap.forEach((s, tag) -> {
54+
if (oldListsMap.containsKey(s)) {
55+
tag.setSelect(oldListsMap.get(s).isSelect());
56+
}
57+
});
58+
filter.put(Constant.FIND_TYPE_LISTS, newLists);
59+
} else {
60+
filter.put(Constant.FIND_TYPE_LISTS, QuestionManager.getLists());
61+
}
62+
4963

5064
navigatorTable.loadData(pageInfo);
5165
}

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

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.shuzijun.leetcode.plugin.window;
22

3+
import com.intellij.openapi.application.ApplicationManager;
34
import com.intellij.openapi.progress.ProgressIndicator;
45
import com.intellij.openapi.progress.ProgressManager;
56
import com.intellij.openapi.progress.Task;
@@ -132,7 +133,7 @@ public Component prepareRenderer(TableCellRenderer renderer, int row, int column
132133
public void updateTable(Question question) {
133134
if (questionList != null) {
134135
for (Question q : questionList) {
135-
if(q.getTitleSlug().equals(question.getTitleSlug())){
136+
if (q.getTitleSlug().equals(question.getTitleSlug())) {
136137
q.setStatus(question.getStatus());
137138
refreshData();
138139
break;
@@ -247,19 +248,23 @@ public PageInfo<Question> getPageInfo() {
247248
}
248249

249250
public void refreshData() {
250-
this.tableModel.updateData(questionList);
251-
setColumnWidth();
251+
ApplicationManager.getApplication().invokeLater(() -> {
252+
this.tableModel.updateData(questionList);
253+
setColumnWidth();
254+
});
252255
}
253256

254257
public void loadData(PageInfo<Question> pageInfo) {
255-
if (this.first) {
256-
this.tableModel.setRowCount(0);
257-
this.tableModel.setColumnCount(5);
258-
this.first = false;
259-
}
260-
this.questionList = pageInfo.getRows();
261-
this.tableModel.updateData(questionList);
262-
setColumnWidth();
258+
ApplicationManager.getApplication().invokeLater(() -> {
259+
if (this.first) {
260+
this.tableModel.setRowCount(0);
261+
this.tableModel.setColumnCount(5);
262+
this.first = false;
263+
}
264+
this.questionList = pageInfo.getRows();
265+
this.tableModel.updateData(questionList);
266+
setColumnWidth();
267+
});
263268
if (pageInfo.getPageTotal() != this.page.getItemCount()) {
264269
this.page.removeAllItems();
265270
for (int i = 1; i <= pageInfo.getPageTotal(); i++) {
@@ -365,7 +370,7 @@ public void updateData(List<Question> questionList) {
365370
}
366371
dataVector[i] = line;
367372
}
368-
setDataVector(dataVector, MyTableModel.columnNameShort.clone());
373+
setDataVector(dataVector, MyTableModel.columnNameShort);
369374
}
370375
}
371376
}

0 commit comments

Comments
 (0)