diff --git a/src/main/java/com/sheepit/client/standalone/swing/activity/Working.java b/src/main/java/com/sheepit/client/standalone/swing/activity/Working.java index 54a1820..7bb7815 100644 --- a/src/main/java/com/sheepit/client/standalone/swing/activity/Working.java +++ b/src/main/java/com/sheepit/client/standalone/swing/activity/Working.java @@ -559,17 +559,30 @@ public class Working implements Activity { } int jobsQueueSize = getJobsQueueSize(client); - int userDecision = showCloseDialog(jobsQueueSize); - - if (userDecision == 0) { - finishJobBeforeExit(client, jobsQueueSize); + if (jobsQueueSize == 0) { + int userDecision = showCloseDialogNoFrame(); + if (userDecision == 0) { + exitImmediately(client); + } } - else if (userDecision == 1) { - exitImmediately(client); + else { + int userDecision = showCloseDialog(jobsQueueSize); + if (userDecision == 0) { + finishJobBeforeExit(client, jobsQueueSize); + } + else if (userDecision == 1) { + exitImmediately(client); + } } } } + public int showCloseDialogNoFrame() { + String[] exitJobOptions = {"Exit Immediately", "Do Nothing" }; + return JOptionPane.showOptionDialog(null, "Exit Now or Later", "Exit Now or Later", + JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, exitJobOptions, exitJobOptions[1]); // Make the "Do nothing" button the default one to avoid mistakes + } + public int showCloseDialog(int jobsQueueSize) { String[] exitJobOptions = { "Exit after current Jobs", "Exit Immediately", "Do Nothing" }; return JOptionPane.showOptionDialog(null, String.format(