diff options
Diffstat (limited to 'src/jrummikub/control/network')
-rw-r--r-- | src/jrummikub/control/network/LoginControl.java | 26 |
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() { |