From 7dc37e3e0def6efb58acc4113596bf46f011fbed Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Thu, 14 Nov 2019 04:20:57 +0000 Subject: [PATCH] change button to connect/disconnect --- .../com/muwire/gui/ChatServerController.groovy | 10 +++++++++- .../models/com/muwire/gui/ChatServerModel.groovy | 4 ++++ .../views/com/muwire/gui/ChatServerView.groovy | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy b/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy index f8607251..d82c8a96 100644 --- a/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy +++ b/gui/griffon-app/controllers/com/muwire/gui/ChatServerController.groovy @@ -15,6 +15,14 @@ class ChatServerController { @ControllerAction void disconnect() { - model.core.eventBus.publish(new UIDisconnectChatEvent(host : model.host)) + switch(model.buttonText) { + case "Disconnect" : + model.buttonText = "Connect" + model.core.eventBus.publish(new UIDisconnectChatEvent(host : model.host)) + break + case "Connect" : + model.connect() + break + } } } \ No newline at end of file diff --git a/gui/griffon-app/models/com/muwire/gui/ChatServerModel.groovy b/gui/griffon-app/models/com/muwire/gui/ChatServerModel.groovy index 3ebb525b..6800bd1c 100644 --- a/gui/griffon-app/models/com/muwire/gui/ChatServerModel.groovy +++ b/gui/griffon-app/models/com/muwire/gui/ChatServerModel.groovy @@ -24,6 +24,7 @@ class ChatServerModel { Core core @Observable boolean disconnectActionEnabled + @Observable String buttonText @Observable ChatConnectionAttemptStatus status volatile ChatLink link @@ -70,6 +71,9 @@ class ChatServerModel { } if (e.status == ChatConnectionAttemptStatus.SUCCESSFUL) { + runInsideUIAsync { + buttonText = "Disconnect" + } ChatLink link = e.connection if (link == null) return diff --git a/gui/griffon-app/views/com/muwire/gui/ChatServerView.groovy b/gui/griffon-app/views/com/muwire/gui/ChatServerView.groovy index 80656d9c..5cabecbd 100644 --- a/gui/griffon-app/views/com/muwire/gui/ChatServerView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/ChatServerView.groovy @@ -31,7 +31,7 @@ class ChatServerView { gridLayout(rows : 1, cols : 3) panel {} panel { - button(text : "Disconnect", enabled : bind {model.disconnectActionEnabled}, disconnectAction) + button(text : bind {model.buttonText}, enabled : bind {model.disconnectActionEnabled}, disconnectAction) } panel { label(text : "Connection Status ")