JAL-3141 Rejigged the Preferences tab and changed some text
[jalview.git] / src / jalview / jbgui / GPreferences.java
index 4477620..4aabd1c 100755 (executable)
@@ -35,6 +35,7 @@ import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.FlowLayout;
 import java.awt.Font;
+import java.awt.FontMetrics;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
 import java.awt.GridLayout;
@@ -91,6 +92,9 @@ public class GPreferences extends JPanel
   private static final Font LABEL_FONT_ITALIC = JvSwingUtils
           .getLabelFont(false, true);
 
+  private static final Font LABEL_FONT_BOLD = JvSwingUtils
+          .getLabelFont(true, false);
+
   /*
    * Visual tab components
    */
@@ -309,8 +313,6 @@ public class GPreferences extends JPanel
 
   protected JalviewBooleanRadioButtons backupfilesConfirmDelete = new JalviewBooleanRadioButtons();
 
-  protected JLabel exampleLabel = new JLabel();
-
   protected JTextArea backupfilesExampleLabel = new JTextArea();
 
   /**
@@ -1690,11 +1692,22 @@ public class GPreferences extends JPanel
   private JPanel initBackupsTab()
   {
     JPanel backupsTab = new JPanel();
-    // backupsTab.setBorder(new TitledBorder(MessageManager
-    // .getString("label.backup_files")));
+    backupsTab.setBorder(new TitledBorder(MessageManager
+          .getString("label.backup_files")));
     backupsTab.setLayout(new GridBagLayout());
 
-    enableBackupFiles.setFont(LABEL_FONT);
+    GridBagConstraints gbc = new GridBagConstraints();
+    gbc.weightx = 1.0;
+    gbc.weighty = 0.0;
+    gbc.anchor = GridBagConstraints.NORTHWEST;
+    gbc.fill = GridBagConstraints.NONE;
+
+    initBackupsTabSuffixPanel();
+    initBackupsTabKeepFilesPanel();
+    initBackupsTabFilenameExamplesPanel();
+
+    gbc.weightx = 0.5;
+    enableBackupFiles.setFont(LABEL_FONT_BOLD);
     enableBackupFiles.setText(
             MessageManager.getString("label.enable_backupfiles"));
     enableBackupFiles.addActionListener(new ActionListener()
@@ -1708,38 +1721,21 @@ public class GPreferences extends JPanel
       }
     });
 
-    GridBagConstraints gbc = new GridBagConstraints();
-    gbc.weightx = 1.0;
-    gbc.weighty = 0.0;
-    gbc.anchor = GridBagConstraints.NORTHWEST;
-    gbc.fill = GridBagConstraints.NONE;
-
     // enable checkbox 1 row
     gbc.gridwidth = 1;
     gbc.gridy = 0;
     backupsTab.add(enableBackupFiles, gbc);
+    gbc.gridx = 1;
+    gbc.weightx = 1.0;
+    //gbc.anchor = GridBagConstraints.NORTHEAST;
+    //gbc.fill = GridBagConstraints.HORIZONTAL;
+    backupsTab.add(exampleFilesPanel, gbc);
 
-    initBackupsTabSuffixPanel();
-    initBackupsTabKeepFilesPanel();
-    initBackupsTabFilenameExamplesPanel();
-
-    /*
-    // set widths of the panels to the max one
-    int maxw = suffixPanel.getWidth();
-    if (maxw < keepfilesPanel.getWidth())
-    {
-      maxw = keepfilesPanel.getWidth();
-    }
-    if (maxw < exampleFilesPanel.getWidth())
-    {
-      maxw = exampleFilesPanel.getWidth();
-    }
-    suffixPanel.setSize(suffixPanel.getHeight(), maxw);
-    keepfilesPanel.setSize(keepfilesPanel.getHeight(), maxw);
-    exampleFilesPanel.setSize(exampleFilesPanel.getHeight(), maxw);
-    */
-
+    gbc.anchor = GridBagConstraints.NORTHWEST;
+    gbc.fill = GridBagConstraints.NONE;
+    gbc.gridwidth = 2;
     // whole suffix panel next row
+    gbc.gridx = 0;
     gbc.gridy = 1;
     backupsTab.add(suffixPanel, gbc);
 
@@ -1747,6 +1743,7 @@ public class GPreferences extends JPanel
     gbc.gridy = 2;
     backupsTab.add(keepfilesPanel, gbc);
 
+    /*
     // whole examples panel next row
     gbc.gridy = 3;
     backupsTab.add(exampleFilesPanel, gbc);
@@ -1755,6 +1752,7 @@ public class GPreferences extends JPanel
     gbc.gridy = 4;
     gbc.weighty = 1.0;
     backupsTab.add(new JPanel(), gbc);
+    */
 
     backupsOptionsSetEnabled(enableBackupFiles.isSelected());
     return backupsTab;
@@ -1985,36 +1983,30 @@ public class GPreferences extends JPanel
 
   private JPanel initBackupsTabFilenameExamplesPanel()
   {
-    exampleFilesPanel.setBorder(new TitledBorder(
-            MessageManager.getString("label.example_filenames")));
+    String title = MessageManager.getString("label.example_filenames");
+    TitledBorder tb = new TitledBorder(title);
+    //tb.setTitleFont(LABEL_FONT);
+    exampleFilesPanel.setBorder(tb);
     exampleFilesPanel.setLayout(new GridBagLayout());
 
-    /*
-    exampleLabel.setText(
-            MessageManager.getString("label.suffix_example_filenames"));
-    exampleLabel.setFont(LABEL_FONT);
-    exampleLabel.setHorizontalAlignment(SwingConstants.LEFT);
-    */
+    //inordinately difficult to get this titledborder the right size for the title
 
     backupfilesExampleLabel.setEditable(false);
-    backupfilesExampleLabel.setPreferredSize(new Dimension(400, 85));
+    backupfilesExampleLabel.setPreferredSize(new Dimension(280, 85));
     backupfilesExampleLabel.setAlignmentX(LEFT_ALIGNMENT);
     backupfilesExampleLabel.setAlignmentY(TOP_ALIGNMENT);
     
     backupfilesExampleLabel.setFont(LABEL_FONT_ITALIC);
-    backupfilesExampleLabel.setBackground(exampleLabel.getBackground());
+    backupfilesExampleLabel
+            .setBackground(exampleFilesPanel.getBackground());
 
     updateBackupFilesExampleLabel();
+    exampleFilesPanel.setMinimumSize(new Dimension(280, 85));
 
     GridBagConstraints gbc = new GridBagConstraints();
-    gbc.anchor = GridBagConstraints.WEST;
-    gbc.fill = GridBagConstraints.NONE;
+    gbc.anchor = GridBagConstraints.EAST;
 
     gbc.gridy = 0;
-    /*
-    exampleFilesPanel.add(exampleLabel, gbc);
-    gbc.gridy = 1;
-    */
     exampleFilesPanel.add(backupfilesExampleLabel, gbc);
     return exampleFilesPanel;
   }
@@ -2025,9 +2017,8 @@ public class GPreferences extends JPanel
     String base = MessageManager.getString("label.filename");
     if (base == null || base.length() > 0)
     {
-      base = "filename";
+      base = "filename.fa";
     }
-    String extension = ".fa";
 
     String suffix = suffixTemplate.getText();
     int digits = 3;
@@ -2083,7 +2074,7 @@ public class GPreferences extends JPanel
             exampleSB.append("\n");
           }
           exampleSB.append(BackupFilenameFilter.getBackupFilename(index,
-                  base, suffix, digits, extension));
+                  base, suffix, digits));
           if (min == max)
           {
             // no extra text needed
@@ -2136,7 +2127,7 @@ public class GPreferences extends JPanel
             exampleSB.append("\n");
           }
           exampleSB.append(BackupFilenameFilter.getBackupFilename(index,
-                  base, suffix, digits, extension));
+                  base, suffix, digits));
           if (min == max)
           {
             // no extra text needed
@@ -2236,7 +2227,6 @@ public class GPreferences extends JPanel
     backupfilesRollMaxSpinner.setEnabled(enabled);
     oldBackupFilesLabel.setEnabled(enabled);
     backupfilesConfirmDelete.setEnabled(enabled);
-    exampleLabel.setEnabled(enabled);
     backupfilesExampleLabel.setEnabled(enabled);
 
     keepRollMaxOptionsEnabled(enabled && !backupfilesKeepAll.isSelected());