From c2d45c557f0936ea87237e8fe83fcfb495f05877 Mon Sep 17 00:00:00 2001 From: Rob Cashwalker Date: Sun, 28 Aug 2011 15:44:45 +0000 Subject: [PATCH] Issue 147 - Explain reason for victory/win/lose/loss/defeat before closing battlefield window - delays dispose() on the battlefield screen until button clicks in Gui_WinLose --- src/main/java/forge/GameAction.java | 6 ++++-- src/main/java/forge/Gui_WinLose.java | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index b7302b5b708..7c44e18b403 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -636,8 +636,10 @@ public class GameAction { if (checkEndGameSate()) { AllZone.getDisplay().savePrefs(); - frame.dispose(); - new Gui_WinLose( AllZone.getMatchState(), AllZone.getQuestData(), AllZone.getQuestAssignment() ); + frame.setEnabled(false); + //frame.dispose(); + Gui_WinLose gwl = new Gui_WinLose( AllZone.getMatchState(), AllZone.getQuestData(), AllZone.getQuestAssignment() ); + gwl.setAlwaysOnTop(true); return; } diff --git a/src/main/java/forge/Gui_WinLose.java b/src/main/java/forge/Gui_WinLose.java index b486e44b95e..92f1540e535 100644 --- a/src/main/java/forge/Gui_WinLose.java +++ b/src/main/java/forge/Gui_WinLose.java @@ -166,10 +166,14 @@ public class Gui_WinLose extends JFrame implements NewConstants { * @param e a {@link java.awt.event.ActionEvent} object. */ void continueButton_actionPerformed(ActionEvent e) { + // issue 147 - keep battlefield up following win/loss + JFrame frame = (JFrame) AllZone.getDisplay(); + frame.dispose(); + //open up "Game" screen - PrepareForNextRound(); AllZone.getDisplay().setVisible(true); + frame.setEnabled(true); dispose(); } @@ -205,9 +209,14 @@ public class Gui_WinLose extends JFrame implements NewConstants { * @param e a {@link java.awt.event.ActionEvent} object. */ void restartButton_actionPerformed(ActionEvent e) { + // issue 147 - keep battlefield up following win/loss + JFrame frame = (JFrame) AllZone.getDisplay(); + frame.dispose(); + model.match.reset(); PrepareForNextRound(); AllZone.getDisplay().setVisible(true); + frame.setEnabled(true); dispose(); } @@ -324,6 +333,11 @@ public class Gui_WinLose extends JFrame implements NewConstants { * @param e a {@link java.awt.event.ActionEvent} object. */ void quitButton_actionPerformed(ActionEvent e) { + // issue 147 - keep battlefield up following win/loss + JFrame frame = (JFrame) AllZone.getDisplay(); + frame.dispose(); + frame.setEnabled(true); + //are we on a quest? if (AllZone.getQuestData() == null) { new OldGuiNewGame();