diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index b76bcecf3ea..2b11d3a587e 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -237,6 +237,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { try { UIManager.put("desktop", new Color(0, 0, 0, 0)); UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); + FontSizeHelper.setGUISize(); // Change default font and row size for JTables Font font = FontSizeHelper.getTableFont(); UIManager.put("Table.font", font); @@ -244,7 +245,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { } catch (Exception ex) { LOGGER.fatal(null, ex); } - FontSizeHelper.setGUISize(); + ManaSymbols.loadImages(); Plugins.getInstance().loadPlugins(); @@ -1068,9 +1069,11 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { if (setActive) { setActive(tablesPane); } else // if other panel was already shown, mamke sure it's topmost again - if (topPanebefore != null) { + { + if (topPanebefore != null) { setActive(topPanebefore); } + } } public void hideGames() { @@ -1402,6 +1405,13 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { } public void changeGUISize() { + setGUISize(); + this.revalidate(); + this.repaint(); + } + + private void setGUISize() { + Font font = FontSizeHelper.getToolbarFont(); // Tables if (tablesPane != null) { tablesPane.changeGUISize(); @@ -1419,13 +1429,6 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { ((TournamentPane) component).changeGUISize(); } } - setGUISize(); - this.revalidate(); - this.repaint(); - } - - private void setGUISize() { - Font font = FontSizeHelper.getToolbarFont(); mageToolbar.setFont(font); int newHeight = font.getSize() + 6; Dimension mageToolbarDimension = mageToolbar.getPreferredSize(); @@ -1449,6 +1452,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { component.setMaximumSize(d); } } + balloonTip.setFont(FontSizeHelper.tooltipFont); } } diff --git a/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java b/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java index 8794ef0d713..c62cb95a778 100644 --- a/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java +++ b/Mage.Client/src/main/java/mage/client/chat/ChatPanelBasic.java @@ -138,6 +138,8 @@ public class ChatPanelBasic extends javax.swing.JPanel { txtMessage.setFont(font); if (jScrollPaneTxt != null) { jScrollPaneTxt.setFont(font); + jScrollPaneTxt.getVerticalScrollBar().setPreferredSize(new Dimension(FontSizeHelper.scrollBarSize, 0)); + jScrollPaneTxt.getHorizontalScrollBar().setPreferredSize(new Dimension(0, FontSizeHelper.scrollBarSize)); } int height = 30; if (font.getSize() > 20) { @@ -150,8 +152,6 @@ public class ChatPanelBasic extends javax.swing.JPanel { if (connectedChat != null) { connectedChat.changeGUISize(font); } - this.revalidate(); - this.repaint(); } public ChatType getChatType() { diff --git a/Mage.Client/src/main/java/mage/client/chat/ChatPanelSeparated.java b/Mage.Client/src/main/java/mage/client/chat/ChatPanelSeparated.java index d3c1e261052..3ff7864af0c 100644 --- a/Mage.Client/src/main/java/mage/client/chat/ChatPanelSeparated.java +++ b/Mage.Client/src/main/java/mage/client/chat/ChatPanelSeparated.java @@ -113,6 +113,7 @@ public class ChatPanelSeparated extends ChatPanelBasic { if (systemMessagesPane != null) { systemMessagesPane.setFont(font); } + super.changeGUISize(font); } diff --git a/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java b/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java index a81529f32fc..4c0fcc8a708 100644 --- a/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java @@ -44,6 +44,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import javax.swing.Icon; +import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.border.EmptyBorder; import javax.swing.table.AbstractTableModel; @@ -124,11 +125,14 @@ public class PlayersChatPanel extends javax.swing.JPanel { private void setGUISize() { Font font = FontSizeHelper.getTableFont(); jTablePlayers.getTableHeader().setFont(font); - jTablePlayers.getTableHeader().setPreferredSize(new Dimension(FontSizeHelper.tableHeaderHeight, FontSizeHelper.tableHeaderHeight)); - font = FontSizeHelper.getTabFont(); - jTabbedPaneText.setFont(font); - this.revalidate(); - this.repaint(); + jTablePlayers.getTableHeader().setPreferredSize(new Dimension((int) jTablePlayers.getTableHeader().getPreferredSize().getWidth(), FontSizeHelper.tableHeaderHeight)); + jScrollPanePlayers.getVerticalScrollBar().setPreferredSize(new Dimension(FontSizeHelper.scrollBarSize, 0)); + jScrollPanePlayers.getHorizontalScrollBar().setPreferredSize(new Dimension(0, FontSizeHelper.scrollBarSize)); + jScrollPaneSystem.getVerticalScrollBar().setPreferredSize(new Dimension(FontSizeHelper.scrollBarSize, 0)); + jScrollPaneSystem.getHorizontalScrollBar().setPreferredSize(new Dimension(0, FontSizeHelper.scrollBarSize)); + + jTabbedPaneText.setFont(FontSizeHelper.getTabFont()); + jSplitPane1.setDividerSize(FontSizeHelper.dividerBarSize); } public void setSplitDividerLocation(int location) { @@ -146,7 +150,7 @@ public class PlayersChatPanel extends javax.swing.JPanel { class UserTableModel extends AbstractTableModel { - private final String[] columnNames = new String[]{"Loc", "Players", "Matches", "MQ%", "Tourneys", "TQ%", "Games", "Connection"}; + private final String[] columnNames = new String[]{"Loc", "Players", "Matches", "MQP", "Tourneys", "TQP", "Games", "Connection"}; private UsersView[] players = new UsersView[0]; public void loadData(Collection roomUserInfoList) throws MageRemoteException { @@ -217,7 +221,7 @@ public class PlayersChatPanel extends javax.swing.JPanel { + "
T = number of matches lost because of match timeout"; break; case 3: - tooltipText = "%-Ratio of matches played to matches quit" + tooltipText = "Percent-Ratio of matches played related to matches quit" + "
this calculation does not include tournament matches"; break; case 4: @@ -227,7 +231,7 @@ public class PlayersChatPanel extends javax.swing.JPanel { + "
R = number of tournaments left during rounds"; break; case 5: - tooltipText = "%-Ratio of tournament matches played to tournament matches quit" + tooltipText = "Percent-Ratio of tournament matches played related to tournament matches quit" + "
this calculation does not include non tournament matches"; break; case 6: @@ -399,7 +403,9 @@ public class PlayersChatPanel extends javax.swing.JPanel { if (table.convertColumnIndexToModel(vColIndex) != curCol) { if (col != null) { MageFrame.getInstance().getBalloonTip().setAttachedComponent(header); - MageFrame.getInstance().getBalloonTip().setTextContents(tips.get(table.convertColumnIndexToModel(vColIndex))); + JLabel content = new JLabel(tips.get(table.convertColumnIndexToModel(vColIndex))); + content.setFont(FontSizeHelper.tooltipFont); + MageFrame.getInstance().getBalloonTip().setContents(content); ToolTipUtils.balloonToToolTip(MageFrame.getInstance().getBalloonTip(), 600, 10000); } else { MageFrame.getInstance().getBalloonTip().setTextContents(""); diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index d469b8c7a19..cd9f1970c70 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -291,6 +291,10 @@ public class TablesPanel extends javax.swing.JPanel { tableTables.getTableHeader().setPreferredSize(new Dimension(FontSizeHelper.tableHeaderHeight, FontSizeHelper.tableHeaderHeight)); tableCompleted.getTableHeader().setFont(font); tableCompleted.getTableHeader().setPreferredSize(new Dimension(FontSizeHelper.tableHeaderHeight, FontSizeHelper.tableHeaderHeight)); + jSplitPane1.setDividerSize(FontSizeHelper.dividerBarSize); + jSplitPane2.setDividerSize(FontSizeHelper.dividerBarSize); + jScrollPane1.getVerticalScrollBar().setPreferredSize(new Dimension(FontSizeHelper.scrollBarSize, 0)); + jScrollPane1.getHorizontalScrollBar().setPreferredSize(new Dimension(0, FontSizeHelper.scrollBarSize)); } private void saveDividerLocations() { diff --git a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java index b8ef2bc9f31..e081defffda 100644 --- a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java +++ b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java @@ -157,6 +157,12 @@ public class TournamentPanel extends javax.swing.JPanel { tablePlayers.getTableHeader().setPreferredSize(new Dimension(FontSizeHelper.tableHeaderHeight, FontSizeHelper.tableHeaderHeight)); tableMatches.getTableHeader().setFont(font); tableMatches.getTableHeader().setPreferredSize(new Dimension(FontSizeHelper.tableHeaderHeight, FontSizeHelper.tableHeaderHeight)); + jSplitPane1.setDividerSize(FontSizeHelper.dividerBarSize); + jSplitPane2.setDividerSize(FontSizeHelper.dividerBarSize); + jScrollPane1.getVerticalScrollBar().setPreferredSize(new Dimension(FontSizeHelper.scrollBarSize, 0)); + jScrollPane1.getHorizontalScrollBar().setPreferredSize(new Dimension(0, FontSizeHelper.scrollBarSize)); + jScrollPane2.getVerticalScrollBar().setPreferredSize(new Dimension(FontSizeHelper.scrollBarSize, 0)); + jScrollPane2.getHorizontalScrollBar().setPreferredSize(new Dimension(0, FontSizeHelper.scrollBarSize)); } private void saveDividerLocations() { diff --git a/Mage.Client/src/main/java/mage/client/util/FontSizeHelper.java b/Mage.Client/src/main/java/mage/client/util/FontSizeHelper.java index 883a981190a..19013cdde16 100644 --- a/Mage.Client/src/main/java/mage/client/util/FontSizeHelper.java +++ b/Mage.Client/src/main/java/mage/client/util/FontSizeHelper.java @@ -23,6 +23,11 @@ public class FontSizeHelper { public static int tableHeaderHeight = 24; public static int tableRowHeight = 20; + public static int dividerBarSize; + public static int scrollBarSize; + + public static Font tooltipFont = new java.awt.Font("Arial", 0, 12); + public static Font getChatFont() { int fontSize = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_GUI_FONT_SIZE, 14); return new java.awt.Font("Arial", 0, fontSize); @@ -70,13 +75,19 @@ public class FontSizeHelper { symbolTooltipSize = fontSize - 5; symbolPaySize = fontSize - 5; symbolCardSize = fontSize - 5; + dividerBarSize = 10 + (fontSize / 4); + scrollBarSize = 14 + (fontSize / 4); } else { symbolTooltipSize = fontSize; symbolPaySize = fontSize; symbolCardSize = fontSize; + dividerBarSize = 10; + scrollBarSize = 14; } + tooltipFont = new java.awt.Font("Arial", 0, fontSize - 2); tableRowHeight = fontSize + 4; tableHeaderHeight = fontSize + 10; + } }