import java.io.File;
import java.util.List;
-import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
public static QResponse setQuitHandler()
{
FlatDesktop.setQuitHandler(response -> {
- Callable<Void> performQuit = () -> {
+ Runnable performQuit = () -> {
response.performQuit();
setResponse(QResponse.QUIT);
- return null;
};
- Callable<Void> performForceQuit = () -> {
+ Runnable performForceQuit = () -> {
response.performQuit();
setResponse(QResponse.FORCE_QUIT);
- return null;
};
- Callable<Void> cancelQuit = () -> {
+ Runnable cancelQuit = () -> {
response.cancelQuit();
// reset
setResponse(QResponse.NULL);
- return null;
};
getQuitResponse(true, performQuit, performForceQuit, cancelQuit);
});
return gotQuitResponse;
}
- public static final Callable<Void> defaultCancelQuit = () -> {
+ public static final Runnable defaultCancelQuit = () -> {
Console.debug("QuitHandler: (default) Quit action CANCELLED by user");
// reset
setResponse(QResponse.CANCEL_QUIT);
- return null;
};
- public static final Callable<Void> defaultOkQuit = () -> {
+ public static final Runnable defaultOkQuit = () -> {
Console.debug("QuitHandler: (default) Quit action CONFIRMED by user");
setResponse(QResponse.QUIT);
- return null;
};
- public static final Callable<Void> defaultForceQuit = () -> {
+ public static final Runnable defaultForceQuit = () -> {
Console.debug("QuitHandler: (default) Quit action FORCED by user");
// note that shutdown hook will not be run
Runtime.getRuntime().halt(0);
setResponse(QResponse.FORCE_QUIT); // this line never reached!
- return null;
};
public static QResponse getQuitResponse(boolean ui)
defaultCancelQuit);
}
- public static QResponse getQuitResponse(boolean ui, Callable<Void> okQuit,
- Callable<Void> forceQuit, Callable<Void> cancelQuit)
+ public static QResponse getQuitResponse(boolean ui, Runnable okQuit,
+ Runnable forceQuit, Runnable cancelQuit)
{
QResponse got = gotQuitResponse();
if (got != QResponse.NULL && got != QResponse.CANCEL_QUIT)
qd.showDialogOnTopAsync(
new StringBuilder(
MessageManager.getString("label.quit_jalview"))
- .append("\n").append(messageString).toString(),
+ .append("\n").append(messageString)
+ .toString(),
MessageManager.getString("action.quit"),
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
new Object[]
}
}
- Callable<Void> next = null;
+ Runnable next = null;
switch (gotQuitResponse())
{
case QUIT:
return gotQuitResponse();
}
- private static QResponse waitQuit(boolean interactive,
- Callable<Void> okQuit, Callable<Void> forceQuit,
- Callable<Void> cancelQuit)
+ private static QResponse waitQuit(boolean interactive, Runnable okQuit,
+ Runnable forceQuit, Runnable cancelQuit)
{
// check for saves in progress
if (!BackupFiles.hasSavesInProgress())