Merge branch 'features/JAL-845splitPaneMergeDevelop' into develop
[jalview.git] / src / jalview / appletgui / FontChooser.java
index 3a50c32..48f11b5 100644 (file)
  */
 package jalview.appletgui;
 
+import jalview.api.ViewStyleI;
 import jalview.util.MessageManager;
 
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Choice;
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Frame;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
 
 public class FontChooser extends Panel implements ActionListener,
         ItemListener
@@ -34,6 +48,8 @@ public class FontChooser extends Panel implements ActionListener,
 
   Font oldFont;
 
+  int oldCharWidth = 0;
+
   boolean init = true;
 
   Frame frame;
@@ -65,6 +81,7 @@ public class FontChooser extends Panel implements ActionListener,
 
     this.ap = ap;
     oldFont = ap.av.getFont();
+    oldCharWidth = ap.av.getViewStyle().getCharWidth();
     init();
   }
 
@@ -144,6 +161,12 @@ public class FontChooser extends Panel implements ActionListener,
     if (ap != null)
     {
       ap.av.setFont(oldFont);
+      ViewStyleI style = ap.av.getViewStyle();
+      if (style.getCharWidth() != oldCharWidth)
+      {
+        style.setCharWidth(oldCharWidth);
+        ap.av.setViewStyle(style);
+      }
       ap.paintAlignment(true);
     }
     else if (tp != null)