* Client - Added number of active games to the header of the games column of the user list.

This commit is contained in:
LevelX2 2014-08-24 07:03:01 +02:00
parent 30ea2188bf
commit aad1a2da89
11 changed files with 100 additions and 30 deletions

View file

@ -51,6 +51,7 @@ import mage.remote.MageRemoteException;
import mage.remote.Session;
import mage.view.ChatMessage.MessageColor;
import mage.view.ChatMessage.MessageType;
import mage.view.RoomUsersView;
import mage.view.UsersView;
/**
@ -303,12 +304,13 @@ public class ChatPanel extends javax.swing.JPanel {
private final String[] columnNames = new String[]{"Players", "Info", "Games"};
private UsersView[] players = new UsersView[0];
public void loadData(Collection<UsersView> players) throws MageRemoteException {
this.players = players.toArray(new UsersView[0]);
public void loadData(Collection<RoomUsersView> roomUserInfoList) throws MageRemoteException {
RoomUsersView roomUserInfo = roomUserInfoList.iterator().next();
this.players = roomUserInfo.getUsersView().toArray(new UsersView[0]);
JTableHeader th = jTablePlayers.getTableHeader();
TableColumnModel tcm = th.getColumnModel();
TableColumn tc = tcm.getColumn(0);
tc.setHeaderValue(new StringBuilder("Players").append(" (").append(this.players.length).append(")").toString());
tcm.getColumn(0).setHeaderValue(new StringBuilder("Players").append(" (").append(this.players.length).append(")").toString());
tcm.getColumn(2).setHeaderValue(new StringBuilder("Games").append(" (").append(roomUserInfo.getNumberActiveGames()).append(")").toString());
th.repaint();
this.fireTableDataChanged();
}
@ -462,8 +464,7 @@ public class ChatPanel extends javax.swing.JPanel {
}
}//GEN-LAST:event_txtMessageKeyTyped
// public void setPlayers(Collection<String> players) {
public void setPlayers(List<Collection<UsersView>> view) {
public void setRoomUserInfo(List<Collection<RoomUsersView>> view) {
try {
tableModel.loadData(view.get(0));
} catch (Exception ex) {

View file

@ -81,6 +81,7 @@ import mage.game.match.MatchOptions;
import mage.remote.MageRemoteException;
import mage.remote.Session;
import mage.view.MatchView;
import mage.view.RoomUsersView;
import mage.view.TableView;
import mage.view.UsersView;
import org.apache.log4j.Logger;
@ -855,7 +856,7 @@ class UpdateTablesTask extends SwingWorker<Void, Collection<TableView>> {
}
class UpdatePlayersTask extends SwingWorker<Void, Collection<UsersView>> {
class UpdatePlayersTask extends SwingWorker<Void, Collection<RoomUsersView>> {
private final Session session;
private final UUID roomId;
@ -872,15 +873,15 @@ class UpdatePlayersTask extends SwingWorker<Void, Collection<UsersView>> {
@Override
protected Void doInBackground() throws Exception {
while (!isCancelled()) {
this.publish(session.getConnectedPlayers(roomId));
Thread.sleep(1000);
this.publish(session.getRoomUsers(roomId));
Thread.sleep(3000);
}
return null;
}
@Override
protected void process(List<Collection<UsersView>> players) {
chat.setPlayers(players);
protected void process(List<Collection<RoomUsersView>> roomUserInfo) {
chat.setRoomUserInfo(roomUserInfo);
}
@Override
@ -1015,7 +1016,7 @@ class UpdateMatchesTask extends SwingWorker<Void, Collection<MatchView>> {
if (matches != null) {
this.publish(matches);
}
Thread.sleep(5000);
Thread.sleep(10000);
}
return null;
}