| 224 |
|
+ " msec"); |
| 225 |
|
} |
| 226 |
|
|
| 227 |
+ |
PackageManager.loadFromCacheFile(Paths.getPacManCacheFilename()); |
| 228 |
+ |
|
| 229 |
|
if (hasUpdated || !Paths.getPacManCacheFilename().exists()) { |
| 230 |
|
PackageManager.getInstance().init(); |
| 231 |
|
PackageManager.getInstance().saveToCacheFile( |
| 232 |
|
Paths.getPacManCacheFilename()); |
| 233 |
< |
} else |
| 232 |
< |
PackageManager.loadFromCacheFile(Paths.getPacManCacheFilename()); |
| 233 |
> |
} |
| 234 |
|
tblMods.reloadData(); |
| 235 |
|
initModTypeBox(); |
| 236 |
|
|
| 390 |
|
} |
| 391 |
|
|
| 392 |
|
@SuppressWarnings("unused") |
| 393 |
+ |
private void showNewPackages() { |
| 394 |
+ |
PackageManager pm = PackageManager.getInstance(); |
| 395 |
+ |
if ((pm.getNewModsOnDepot().size() >= pm.getModsValidAndNotCore() |
| 396 |
+ |
.size()) |
| 397 |
+ |
|| (pm.getNewToolsOnDepot().size() >= pm.getTools().size())) |
| 398 |
+ |
return; |
| 399 |
+ |
if (SettingsManager.getInstance().get("notifynewpackages", true)) { |
| 400 |
+ |
if (pm.getNewModsOnDepot().size() > 0 |
| 401 |
+ |
|| pm.getNewToolsOnDepot().size() > 0) { |
| 402 |
+ |
TreeSet<Package> mods = new TreeSet<Package>(pm |
| 403 |
+ |
.getNewModsOnDepot().values()); |
| 404 |
+ |
TreeSet<Package> tools = new TreeSet<Package>(pm |
| 405 |
+ |
.getNewToolsOnDepot().values()); |
| 406 |
+ |
StringBuffer modsString = new StringBuffer(); |
| 407 |
+ |
StringBuffer toolsString = new StringBuffer(); |
| 408 |
+ |
for (final Package m : mods) { |
| 409 |
+ |
modsString.append("<li>" + m.getName() + "</li>"); |
| 410 |
+ |
} |
| 411 |
+ |
for (final Package m : tools) { |
| 412 |
+ |
toolsString.append("<li>" + m.getName() + "</li>"); |
| 413 |
+ |
} |
| 414 |
+ |
// Build info dialog content |
| 415 |
+ |
String message = "<html>" |
| 416 |
+ |
+ bundle.getString("newPackages.text") + "</html>"; |
| 417 |
+ |
if (modsString.length() > 0) { |
| 418 |
+ |
modsString.insert(0, "Mods:<ul>"); |
| 419 |
+ |
modsString.append("</ul>"); |
| 420 |
+ |
message = message.replaceAll("%1", modsString.toString()); |
| 421 |
+ |
} else { |
| 422 |
+ |
message = message.replaceAll("%1", ""); |
| 423 |
+ |
} |
| 424 |
+ |
if (toolsString.length() > 0) { |
| 425 |
+ |
toolsString.insert(0, "Tools:<ul>"); |
| 426 |
+ |
toolsString.append("</ul>"); |
| 427 |
+ |
message = message.replaceAll("%2", toolsString.toString()); |
| 428 |
+ |
} else { |
| 429 |
+ |
message = message.replaceAll("%2", ""); |
| 430 |
+ |
} |
| 431 |
+ |
|
| 432 |
+ |
JPanel pan = new JPanel(new BorderLayout(0, 25)); |
| 433 |
+ |
JLabel lblTxt = new JLabel(message); |
| 434 |
+ |
pan.add(lblTxt, BorderLayout.CENTER); |
| 435 |
+ |
JCheckBox checkFutureUpdates = new JCheckBox( |
| 436 |
+ |
bundle.getString("checkNewPackagesOnStartup.text")); |
| 437 |
+ |
checkFutureUpdates.setSelected(SettingsManager.getInstance() |
| 438 |
+ |
.get("notifynewpackages", true)); |
| 439 |
+ |
checkFutureUpdates.addItemListener(new ItemListener() { |
| 440 |
+ |
@Override |
| 441 |
+ |
public void itemStateChanged(ItemEvent evt) { |
| 442 |
+ |
SettingsManager.getInstance().put("notifynewpackages", |
| 443 |
+ |
evt.getStateChange() == ItemEvent.SELECTED); |
| 444 |
+ |
} |
| 445 |
+ |
}); |
| 446 |
+ |
pan.add(checkFutureUpdates, BorderLayout.SOUTH); |
| 447 |
+ |
|
| 448 |
+ |
JOptionPane.showMessageDialog(this, pan, |
| 449 |
+ |
bundle.getString("newPackages.title"), |
| 450 |
+ |
JOptionPane.INFORMATION_MESSAGE); |
| 451 |
+ |
} |
| 452 |
+ |
} |
| 453 |
+ |
} |
| 454 |
+ |
|
| 455 |
+ |
@SuppressWarnings("unused") |
| 456 |
|
private void focus() { |
| 457 |
|
SwingUtilities.invokeLater(new Runnable() { |
| 458 |
|
|
| 570 |
|
} |
| 571 |
|
}); |
| 572 |
|
} |
| 573 |
< |
|
| 573 |
> |
|
| 574 |
|
@SuppressWarnings("unused") |
| 575 |
|
private void refreshLocalMods() { |
| 576 |
|
PackageManager.getInstance().updateLocalData(); |