@Override public void buttonClicked(Button btn) { if (btn.equals(buttonMainMenu)) { SpoutClient.getHandle().displayGuiScreen(new GuiMainMenu()); } if (btn.equals(buttonServerList)) { SpoutClient.getHandle().displayGuiScreen(new GuiServerList()); } if (btn.equals(buttonQuickJoin)) { doQuickJoin(); } if (btn.equals(buttonAdd)) { SpoutClient.getHandle().displayGuiScreen(new GuiAddFavorite(this)); } if (btn.equals(buttonEdit)) { ServerItem item = (ServerItem) view.getSelectedItem(); // Produces a "hang" why ever :( if (item != null) { SpoutClient.getHandle().displayGuiScreen(new GuiAddFavorite(item, this)); } else { updateButtons(); } } if (btn.equals(buttonDelete)) { if (buttonDelete.getText().equals("Delete")) { buttonDelete.setText(ChatColor.RED + "Really?"); confirmationTimeout = System.currentTimeMillis(); } else { model.removeServer((ServerItem) view.getSelectedItem()); model.save(); buttonDelete.setText("Delete"); } } if (btn.equals(buttonJoin)) { ServerItem item = null; if (view.getSelectedRow() > -1) { item = (ServerItem) model.getItem(view.getSelectedRow()); } if (item != null) { SpoutClient.getInstance().getServerManager().join(item, this, "Favorites"); } else { // Just in case something weird happens updateButtons(); } } if (btn.equals(buttonMoveUp)) { if (view.getSelectedRow() != -1) { model.move(view.getSelectedRow(), view.getSelectedRow() - 1); view.shiftSelection(-1); model.save(); } } if (btn.equals(buttonMoveDown)) { if (view.getSelectedRow() != -1) { model.move(view.getSelectedRow(), view.getSelectedRow() + 1); view.shiftSelection(1); model.save(); } } if (btn.equals(buttonRefresh)) { for (int i = 0; i < model.getSize(); i++) { ServerItem item = (ServerItem) model.getItem(i); item.poll(); } } }