summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network')
-rw-r--r--src/jrummikub/control/network/LoginControl.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/jrummikub/control/network/LoginControl.java b/src/jrummikub/control/network/LoginControl.java
index a9dd5e8..e03625d 100644
--- a/src/jrummikub/control/network/LoginControl.java
+++ b/src/jrummikub/control/network/LoginControl.java
@@ -4,6 +4,8 @@ import jrummikub.util.Event;
import jrummikub.util.Event3;
import jrummikub.util.IEvent;
import jrummikub.util.IEvent3;
+import jrummikub.util.IListener;
+import jrummikub.util.IListener3;
import jrummikub.view.IView;
public class LoginControl {
@@ -11,8 +13,30 @@ public class LoginControl {
private Event3<String, String, String> loginEvent = new Event3<String, String, String>();
private Event cancelEvent = new Event();
- public LoginControl(IView view) {
+ public LoginControl(final IView view) {
this.view = view;
+ view.getLoginPanel().getLoginEvent()
+ .add(new IListener3<String, String, String>() {
+ @Override
+ public void handle(String userName, String password,
+ String channelName) {
+ view.showLoginPanel(false);
+ loginEvent.emit(userName, password, channelName);
+ }
+ });
+
+ view.getLoginPanel().getCancelEvent().add(new IListener() {
+ @Override
+ public void handle() {
+ view.showLoginPanel(false);
+ cancelEvent.emit();
+ }
+ });
+ }
+
+ public void startLogin() {
+ view.clearView();
+ view.showLoginPanel(true);
}
public IEvent3<String, String, String> getLoginEvent() {