Merge branch 'merge/JAL-1988_JAL-3772+JAL-3416+JAL-4054+JAL-4064' into bug/JAL-4125_f...
[jalview.git] / src / jalview / gui / QuitHandler.java
index f9110eb..9a44306 100644 (file)
@@ -41,6 +41,18 @@ public class QuitHandler
     NULL, QUIT, CANCEL_QUIT, FORCE_QUIT
   };
 
+  public static enum Message
+  {
+    UNSAVED_CHANGES, UNSAVED_ALIGNMENTS
+  };
+
+  protected static Message message = Message.UNSAVED_CHANGES;
+
+  public static void setMessage(Message m)
+  {
+    message = m;
+  }
+
   private static ExecutorService executor = Executors.newFixedThreadPool(3);
 
   public static QResponse setQuitHandler()
@@ -146,6 +158,10 @@ public class QuitHandler
 
     if (confirmQuit)
     {
+      String messageString = MessageManager
+              .getString(message == Message.UNSAVED_ALIGNMENTS
+                      ? "label.unsaved_alignments"
+                      : "label.unsaved_changes");
       setQuitDialog(JvOptionPane.newOptionDialog()
               .setResponseHandler(JOptionPane.YES_OPTION, defaultOkQuit)
               .setResponseHandler(JOptionPane.NO_OPTION, cancelQuit));
@@ -153,10 +169,7 @@ public class QuitHandler
       qd.showDialogOnTopAsync(
               new StringBuilder(
                       MessageManager.getString("label.quit_jalview"))
-                      .append("\n")
-                      .append(MessageManager
-                              .getString("label.unsaved_changes"))
-                      .toString(),
+                      .append("\n").append(messageString).toString(),
               MessageManager.getString("action.quit"),
               JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
               new Object[]
@@ -482,4 +495,4 @@ public class QuitHandler
     return QuitHandler.gotQuitResponse() == QResponse.QUIT
             || QuitHandler.gotQuitResponse() == QResponse.FORCE_QUIT;
   }
-}
\ No newline at end of file
+}