Skip to content

Commit b17546c

Browse files
committed
Add reload version list button when version list fails to load
1 parent aaecb17 commit b17546c

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

cli/src/main/java/org/mcphackers/mcp/main/MainCLI.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public MainCLI(String[] args) {
103103
mode = TaskMode.EXIT;
104104
} else {
105105
str = str.trim();
106-
if (str.length() == 0) {
106+
if (str.isEmpty()) {
107107
continue;
108108
}
109109
System.out.print(new Ansi().fgDefault());
@@ -323,6 +323,7 @@ public void showMessage(String title, String msg, int type) {
323323
log("[" + typeName + "]: " + msg);
324324
}
325325

326+
@SuppressWarnings("CallToPrintStackTrace")
326327
@Override
327328
public void showMessage(String title, String msg, Throwable e) {
328329
Ansi typeName = new Ansi().fgRed().a("ERROR").fgDefault();

gui/src/main/java/org/mcphackers/mcp/gui/MCPFrame.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class MCPFrame extends JFrame implements WindowListener {
5050
private final List<TaskButton> buttons = new ArrayList<>();
5151
public MenuBar menuBar;
5252
public boolean loadingVersions = true;
53-
private JComboBox<?> verList;
53+
private JComponent verList;
5454
private JLabel verLabel;
5555
//private JButton verCleanup;
5656
private JPanel topRightContainer;
@@ -143,9 +143,13 @@ public void reloadVersionList() {
143143
verLabel = new JLabel(MCP.TRANSLATOR.translateKey("mcp.versionList.failure"));
144144
verLabel.setBorder(new EmptyBorder(4, 0, 0, 2));
145145
verLabel.setForeground(Color.RED);
146-
verList = null;
146+
JButton verList = new JButton(MCP.TRANSLATOR.translateKey("mcp.versionList.reloadVersionList"));
147+
verList.addActionListener(e -> {
148+
reloadVersionList();
149+
});
150+
this.verList = verList;
147151
} else {
148-
verList = new JComboBox<>(versionParser.getVersions().toArray());
152+
JComboBox<?> verList = new JComboBox<>(versionParser.getVersions().toArray());
149153
verList.addPopupMenuListener(new PopupMenuListener() {
150154

151155
@Override
@@ -165,6 +169,7 @@ public void popupMenuCanceled(PopupMenuEvent e) {
165169
setCurrentVersion(mcp.currentVersion == null ? null : versionParser.getVersion(mcp.currentVersion.id));
166170
verList.setMaximumRowCount(20);
167171
verLabel = new JLabel(MCP.TRANSLATOR.translateKey("mcp.versionList.currentVersion"));
172+
this.verList = verList;
168173
}
169174
topRightContainer.removeAll();
170175
topRightContainer.add(this.verLabel);
@@ -226,8 +231,11 @@ public void setCurrentVersion(VersionData versionData) {
226231
if (verList == null) {
227232
return;
228233
}
229-
verList.setSelectedItem(versionData);
230-
verList.repaint();
234+
if (this.verList instanceof JComboBox) {
235+
JComboBox<?> verList = (JComboBox<?>) this.verList;
236+
verList.setSelectedItem(versionData);
237+
verList.repaint();
238+
}
231239
}
232240

233241
/**

src/main/resources/lang/en_US.lang

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ mcp.incompatiblePlugin = Incompatible plugin found:
1414
mcp.versionList.currentVersion = Current version:
1515
mcp.versionList.failure = Unable to get version list!
1616
mcp.versionList.loading = Loading...
17+
mcp.versionList.reloadVersionList = Reload version list
1718
mcp.checkUpdate = Check for updates
1819
mcp.upToDate = Up to date!
1920
mcp.viewDir = View working directory

0 commit comments

Comments
 (0)