From e0de28693bc365d48431121f221d4aa4033fc09e Mon Sep 17 00:00:00 2001 From: magenoxx Date: Sun, 9 Sep 2012 13:56:42 +0400 Subject: [PATCH] [client] Autoclosing game windows after 8 seconds they finished --- .../java/mage/client/game/FeedbackPanel.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java b/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java index f15a93fb230..6ee28709acf 100644 --- a/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java +++ b/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java @@ -49,6 +49,9 @@ import java.awt.event.ActionEvent; import java.io.Serializable; import java.util.Map; import java.util.UUID; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * @@ -69,6 +72,8 @@ public class FeedbackPanel extends javax.swing.JPanel { private MageDialog connectedDialog; private ChatPanel connectedChatPanel; + private static final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor(); + /** Creates new form FeedbackPanel */ public FeedbackPanel() { //initComponents(); @@ -124,6 +129,7 @@ public class FeedbackPanel extends javax.swing.JPanel { this.btnRight.setText("OK"); this.helper.setState("", false, "OK", true); ArrowBuilder.removeAllArrows(); + endWithTimeout(); break; } this.btnSpecial.setVisible(special); @@ -147,6 +153,19 @@ public class FeedbackPanel extends javax.swing.JPanel { this.helper.setVisible(true); } + /** + * Close game window by pressing OK button after 5 seconds + */ + private void endWithTimeout() { + Runnable task = new Runnable() { + public void run() { + logger.info("Ending game..."); + FeedbackPanel.this.btnRight.doClick(); + } + }; + worker.schedule(task, 8, TimeUnit.SECONDS); + } + private void handleOptions(Map options) { if (options != null) { if (options.containsKey("UI.right.btn.text")) {