JAL-1706 distinguish between 'font too small' and 'font does not have
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 23 Apr 2015 09:47:30 +0000 (10:47 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 23 Apr 2015 09:47:30 +0000 (10:47 +0100)
letters'

resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/gui/FontChooser.java

index 3d572f5..42dfca9 100644 (file)
@@ -1142,6 +1142,7 @@ status.das_feature_fetching_cancelled = DAS Feature Fetching Cancelled
 status.das_feature_fetching_complete = DAS Feature Fetching Complete
 status.fetching_db_refs = Fetching db refs
 label.font_doesnt_have_letters_defined = Font doesn't have letters defined\nso cannot be used\nwith alignment data
+label.font_too_small = Font size is too small
 label.error_loading_file_params = Error loading file {0}
 label.error_loading_jalview_file = Error loading Jalview file
 warn.out_of_memory_when_action = Out of memory when {0}\!\!\nSee help files for increasing Java Virtual Machine memory.
index 241fff2..6db40cf 100644 (file)
@@ -1097,6 +1097,7 @@ status.das_feature_fetching_cancelled = Recuperaci
 status.das_feature_fetching_complete = Recuperación de características DAS completada
 status.fetching_db_refs = Recuperando db refs
 label.font_doesnt_have_letters_defined = La fuente no tiene letras definidas\npor lo que no puede emplease\ncon datos de alineamientos
+label.font_too_small = Tamaño de la letra es demasiado pequeña
 label.error_loading_file_params = Error cargando el fichero {0}
 label.error_loading_jalview_file = Error cargando el fichero Jalview 
 warn.out_of_memory_when_action = Sin memoria al {0}\!\!\nConsulte los ficheros de ayuda para ajustar la memoria de la m\u00E1quina virtual de Java.
index 92d2b2b..2ffb166 100755 (executable)
@@ -23,6 +23,7 @@ package jalview.gui;
 import java.awt.Font;
 import java.awt.FontMetrics;
 import java.awt.event.ActionEvent;
+import java.awt.geom.Rectangle2D;
 
 import javax.swing.JInternalFrame;
 import javax.swing.JLayeredPane;
@@ -241,14 +242,17 @@ public class FontChooser extends GFontChooser
             fontStyle.getSelectedIndex(),
             (Integer) fontSize.getSelectedItem());
     FontMetrics fm = getGraphics().getFontMetrics(newFont);
-    double mw = fm.getStringBounds("M", getGraphics()).getWidth(), iw = fm
-            .getStringBounds("I", getGraphics()).getWidth();
+    double mw = fm.getStringBounds("M", getGraphics()).getWidth();
+    final Rectangle2D iBounds = fm.getStringBounds("I", getGraphics());
+    double iw = iBounds.getWidth();
     if (mw < 1 || iw < 1)
     {
+      final String messageKey = iBounds.getHeight() < 1 ? "label.font_doesnt_have_letters_defined"
+              : "label.font_too_small";
       JOptionPane
               .showInternalMessageDialog(
                       this,
-                      MessageManager.getString("label.font_doesnt_have_letters_defined"),
+              MessageManager.getString(messageKey),
                       MessageManager.getString("label.invalid_font"), JOptionPane.WARNING_MESSAGE);
       /*
        * Restore the changed value - note this will reinvoke this method via the