Some changes to userData handling. Added country flag to some dialogs. Saved and restored some more table columns width and order information.

This commit is contained in:
LevelX2 2015-06-28 00:10:38 +02:00
parent cb3b5f895b
commit 87f3978589
32 changed files with 1982 additions and 1699 deletions

View file

@ -63,7 +63,7 @@ import org.mage.card.arcane.ManaSymbols;
* @author BetaSteward_at_googlemail.com, nantuko
*/
public class ChatPanel extends javax.swing.JPanel {
private UUID chatId;
private Session session;
private final List<String> players = new ArrayList<>();
@ -71,7 +71,7 @@ public class ChatPanel extends javax.swing.JPanel {
/**
* Chat message color for opponents.
*/
private static final String OPPONENT_COLOR = "#FF7F50";
private static final String OPPONENT_COLOR = "#FF7F50";
/**
* Chat message color for client player.
*/
@ -123,7 +123,7 @@ public class ChatPanel extends javax.swing.JPanel {
private ChatType chatType = ChatType.DEFAULT;
private static final int[] defaultColumnsWidth = {20, 100, 100, 80};
public enum ChatType {
DEFAULT, GAME, TABLES, TOURNAMENT
@ -142,6 +142,7 @@ public class ChatPanel extends javax.swing.JPanel {
*/
/**
* Creates new form ChatPanel
*
* @param addPlayersTab
*/
public ChatPanel(boolean addPlayersTab) {
@ -151,10 +152,10 @@ public class ChatPanel extends javax.swing.JPanel {
jTablePlayers.setBackground(new Color(0, 0, 0, ALPHA));
jTablePlayers.setForeground(Color.white);
jTablePlayers.setRowSorter(new MageTableRowSorter(userTableModel));
TableUtil.setColumnWidthAndOrder(jTablePlayers, defaultColumnsWidth, KEY_USERS_COLUMNS_WIDTH, KEY_USERS_COLUMNS_ORDER);
jTablePlayers.setDefaultRenderer(Icon.class, new CountryCellRenderer());
if (jScrollPaneTxt != null) {
jScrollPaneTxt.setBackground(new Color(0, 0, 0, ALPHA));
jScrollPaneTxt.getViewport().setBackground(new Color(0, 0, 0, ALPHA));
@ -169,7 +170,7 @@ public class ChatPanel extends javax.swing.JPanel {
}
public void cleanUp() {
TableUtil.saveColumnWidthAndOrderToPrefs(jTablePlayers, KEY_USERS_COLUMNS_WIDTH, KEY_USERS_COLUMNS_ORDER);
TableUtil.saveColumnWidthAndOrderToPrefs(jTablePlayers, KEY_USERS_COLUMNS_WIDTH, KEY_USERS_COLUMNS_ORDER);
}
public ChatType getChatType() {
@ -248,7 +249,7 @@ public class ChatPanel extends javax.swing.JPanel {
}
if (username != null && !username.isEmpty()) {
text.append(getColoredText(userColor, username + userSeparator));
}
}
text.append(getColoredText(textColor, ManaSymbols.replaceSymbolsWithHTML(message, ManaSymbols.Type.PAY)));
this.txtConversation.append(text.toString());
}
@ -262,6 +263,7 @@ public class ChatPanel extends javax.swing.JPanel {
sb.append("</font>");
return sb.toString();
}
public String getText() {
return txtConversation.getText();
}
@ -325,8 +327,8 @@ public class ChatPanel extends javax.swing.JPanel {
}
class UserTableModel extends AbstractTableModel {
private final String[] columnNames = new String[]{" ","Players", "Info", "Games", "Connection"};
private final String[] columnNames = new String[]{"Loc", "Players", "Info", "Games", "Connection"};
private UsersView[] players = new UsersView[0];
public void loadData(Collection<RoomUsersView> roomUserInfoList) throws MageRemoteException {
@ -334,12 +336,12 @@ public class ChatPanel extends javax.swing.JPanel {
this.players = roomUserInfo.getUsersView().toArray(new UsersView[0]);
JTableHeader th = jTablePlayers.getTableHeader();
TableColumnModel tcm = th.getColumnModel();
tcm.getColumn(jTablePlayers.convertColumnIndexToView(1)).setHeaderValue("Players (" + this.players.length + ")");
tcm.getColumn(jTablePlayers.convertColumnIndexToView(3)).setHeaderValue(
"Games " + roomUserInfo.getNumberActiveGames() +
(roomUserInfo.getNumberActiveGames() != roomUserInfo.getNumberGameThreads() ? " (T:" + roomUserInfo.getNumberGameThreads():" (") +
" limit: " + roomUserInfo.getNumberMaxGames() + ")");
"Games " + roomUserInfo.getNumberActiveGames()
+ (roomUserInfo.getNumberActiveGames() != roomUserInfo.getNumberGameThreads() ? " (T:" + roomUserInfo.getNumberGameThreads() : " (")
+ " limit: " + roomUserInfo.getNumberMaxGames() + ")");
th.repaint();
this.fireTableDataChanged();
}
@ -358,7 +360,7 @@ public class ChatPanel extends javax.swing.JPanel {
public Object getValueAt(int arg0, int arg1) {
switch (arg1) {
case 0:
return players[arg0].getFlagName();
return players[arg0].getFlagName();
case 1:
return players[arg0].getUserName();
case 2:
@ -389,16 +391,14 @@ public class ChatPanel extends javax.swing.JPanel {
return Icon.class;
default:
return String.class;
}
}
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
}
public void clear() {
@ -486,9 +486,9 @@ public class ChatPanel extends javax.swing.JPanel {
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jScrollPaneTxt, javax.swing.GroupLayout.DEFAULT_SIZE, 294, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)));
.addComponent(jScrollPaneTxt, javax.swing.GroupLayout.DEFAULT_SIZE, 294, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)));
jTablePlayers = null;
jScrollPanePlayers = null;
}