summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/NetworkControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/NetworkControl.java')
-rw-r--r--src/jrummikub/control/network/NetworkControl.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/jrummikub/control/network/NetworkControl.java b/src/jrummikub/control/network/NetworkControl.java
index cd0f66f..5e38d1e 100644
--- a/src/jrummikub/control/network/NetworkControl.java
+++ b/src/jrummikub/control/network/NetworkControl.java
@@ -15,7 +15,6 @@ import jrummikub.util.IEvent;
import jrummikub.util.IListener;
import jrummikub.util.IListener1;
import jrummikub.util.LoginData;
-import jrummikub.view.IQuitWarningPanel.QuitMode;
import jrummikub.view.IView;
import jrummikub.view.IView.BottomPanelType;
import jrummikub.view.LoginError;
@@ -141,6 +140,23 @@ public class NetworkControl {
}
}
}));
+ connections.add(connectionControl.getConnectionLostEvent().add(
+ new IListener() {
+ @Override
+ public void handle() {
+ abort();
+ view.setBottomPanel(BottomPanelType.NETWORK_SERVER_CONNECTION_LOST_PANEL);
+ connections.add(view.getAcknowledgeConnectionLostEvent().add(
+ new IListener() {
+ @Override
+ public void handle() {
+ abort();
+ view.setBottomPanel(BottomPanelType.START_GAME_PANEL);
+ backToLoginEvent.emit();
+ }
+ }));
+ }
+ }));
}
private void addOfferUpdateListener() {
@@ -342,6 +358,13 @@ public class NetworkControl {
view.showGameListPanel(true);
}
});
+ gameControl.getEndOfGameEvent().add(new IListener() {
+ @Override
+ public void handle() {
+ view.setBottomPanel(BottomPanelType.START_GAME_PANEL);
+ view.showGameListPanel(true);
+ }
+ });
gameControl.startGame();
}