From 1d89624071d35163b979b55a10b8bf8d58370d69 Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Mon, 13 Jun 2022 18:32:22 +0100 Subject: [PATCH] JAL-1988 Hack to ensure Quit dialog box is moved to front --- src/jalview/jbgui/APQHandlers.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/jalview/jbgui/APQHandlers.java b/src/jalview/jbgui/APQHandlers.java index 27c53b9..e18ec44 100644 --- a/src/jalview/jbgui/APQHandlers.java +++ b/src/jalview/jbgui/APQHandlers.java @@ -20,11 +20,11 @@ */ package jalview.jbgui; +import javax.swing.JFrame; import javax.swing.JOptionPane; import com.formdev.flatlaf.extras.FlatDesktop; -import jalview.gui.Desktop; import jalview.util.MessageManager; public class APQHandlers @@ -46,11 +46,26 @@ public class APQHandlers int n; if (confirmQuit) { - n = JOptionPane.showConfirmDialog(null, + // ensure Jalview window is brought to front for Quit confirmation + // window to be + // visible + + // this method of raising the Jalview window is broken in java + // jalviewDesktop.setVisible(true); + // jalviewDesktop.toFront(); + + // a better hack which works instead + JFrame dialogParent = new JFrame(); + dialogParent.setAlwaysOnTop(true); + + n = JOptionPane.showConfirmDialog(dialogParent, MessageManager.getString("label.quit_jalview"), MessageManager.getString("action.quit"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null); + + dialogParent.setAlwaysOnTop(false); + dialogParent.dispose(); } else { -- 1.7.10.2