Merge branch 'features/r2_11_2_alphafold/JAL-629' into features/JAL-3858_PAEsInProjects
[jalview.git] / src / jalview / gui / LineartOptions.java
index 1dd030b..8a530ac 100644 (file)
  */
 package jalview.gui;
 
-import jalview.bin.Cache;
-import jalview.util.MessageManager;
-import jalview.util.dialogrunner.RunResponse;
-
 import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.concurrent.Callable;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.swing.BorderFactory;
@@ -36,12 +33,17 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 
+import jalview.bin.Cache;
+import jalview.util.MessageManager;
+
 /**
  * A dialog where the user may choose Text or Lineart rendering, and optionally
- * save this as a preference
+ * save this as a preference ("Don't ask me again")
  */
 public class LineartOptions extends JPanel
 {
+  static final String PROMPT_EACH_TIME = "Prompt each time";
+
   JvOptionPane dialog;
 
   public boolean cancelled = false;
@@ -61,22 +63,22 @@ public class LineartOptions extends JPanel
    * mutable boolean object. User action in the dialog should update this
    * object, and the <em>same</em> object should be used in any action handler
    * set by calling <code>setResponseAction</code>.
+   * <p>
+   * If the user chooses an option and also "Don't ask me again", the chosen
+   * option is saved as a property with key type_RENDERING i.e. "EPS_RENDERING",
+   * "SVG_RENDERING" or "HTML_RENDERING".
    * 
-   * @param preferencesKey
-   *          the key under which the choice is saved as a user preference, if
-   *          'Don't ask me again' is selected
    * @param formatType
    *          image type e.g. EPS, SVG
    * @param textOption
    *          true to select Text, false for Lineart
    */
-  public LineartOptions(String preferencesKey, String formatType,
-          AtomicBoolean textOption)
+  public LineartOptions(String formatType, AtomicBoolean textOption)
   {
     this.asText = textOption;
     dialogTitle = MessageManager.formatMessage(
             "label.select_character_style_title", formatType);
-
+    String preferencesKey = formatType + "_RENDERING";
     try
     {
       jbInit(preferencesKey, formatType);
@@ -94,9 +96,9 @@ public class LineartOptions extends JPanel
    * 
    * @param action
    */
-  public void setResponseAction(RunResponse action)
+  public void setResponseAction(Object response, Callable action)
   {
-    dialog.response(action);
+    dialog.setResponseHandler(response, action);
   }
 
   /**