JAL-629 Add a timeout to modal dialogs for command line warning
[jalview.git] / src / jalview / gui / Desktop.java
index e0e2307..d5840e6 100644 (file)
@@ -3762,13 +3762,21 @@ public class Desktop extends jalview.jbgui.GDesktop
   public void nonBlockingDialog(String title, String message, String button,
           int type, boolean scrollable, boolean modal)
   {
-    nonBlockingDialog(32, 2, title, message, null, button, type, scrollable,
-            false, modal);
+    nonBlockingDialog(title, message, null, button, type, scrollable, false,
+            modal, -1);
+  }
+
+  public void nonBlockingDialog(String title, String message,
+          String boxtext, String button, int type, boolean scrollable,
+          boolean html, boolean modal, int timeout)
+  {
+    nonBlockingDialog(32, 2, title, message, boxtext, button, type,
+            scrollable, false, modal, timeout);
   }
 
   public void nonBlockingDialog(int width, int height, String title,
           String message, String boxtext, String button, int type,
-          boolean scrollable, boolean html, boolean modal)
+          boolean scrollable, boolean html, boolean modal, int timeout)
   {
     if (type < 0)
     {
@@ -3830,9 +3838,11 @@ public class Desktop extends jalview.jbgui.GDesktop
 
     jvp.setResponseHandler(JOptionPane.YES_OPTION, () -> {
     });
+    jvp.setTimeout(timeout);
+    JButton jb = new JButton(button);
     jvp.showDialogOnTopAsync(this, jp, title, JOptionPane.YES_OPTION, type,
             null, new Object[]
-            { button }, button, modal, null, false);
+            { button }, button, modal, new JButton[] { jb }, false);
   }
 
 }