summaryrefslogtreecommitdiff
path: root/limox.go
diff options
context:
space:
mode:
Diffstat (limited to 'limox.go')
-rw-r--r--limox.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/limox.go b/limox.go
index 4914ff5..d1cbd79 100644
--- a/limox.go
+++ b/limox.go
@@ -26,6 +26,7 @@ type Limox struct {
JidEditor widget.Editor
PwdEditor widget.Editor
ConnectButton widget.Clickable
+ DisconnectButton widget.Clickable
sessionIn chan<- any
sessionOut chan any
State LimoxState
@@ -63,6 +64,9 @@ func (l *Limox) run() error {
if l.ConnectButton.Clicked() {
l.connectCallback()
}
+ if l.DisconnectButton.Clicked() {
+ l.disconnectCallback()
+ }
l.draw(e)
}
case data := <-l.sessionOut:
@@ -97,3 +101,9 @@ func (l *Limox) connectCallback() {
l.State = Disconnected
}
}
+
+func (l *Limox) disconnectCallback() {
+ c := l.sessionIn
+ go func() { c <- xmpp.SessionShouldDisconnect{} }()
+ l.State = Disconnected
+}