From aa18d317de087bf972a0296d9fa1a8ec1410c96e Mon Sep 17 00:00:00 2001 From: Slendi Date: Sat, 20 Sep 2025 02:11:17 +0300 Subject: [PATCH] irc: add Disconnect in server actions; rename Connect->Open when session already active Signed-off-by: Slendi --- main.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/main.lua b/main.lua index ab4eacd..d3bdbfd 100644 --- a/main.lua +++ b/main.lua @@ -861,13 +861,29 @@ function IRC:getServerListItems() end function IRC:getServerActions(server, index) + local function isConnected() + return self._bg_view and self._bg_view._sock and self._bg_view._server + and self._bg_view._server.host == server.host + and tostring(self._bg_view._server.port or 6667) == tostring(server.port or 6667) + end local actions = { { - text = _("Connect"), + text_func = function() + return isConnected() and _("Open") or _("Connect") + end, callback = function() self:connectToServer(server) end, }, + { + text = _("Disconnect"), + enabled_func = function() return isConnected() end, + callback = function() + if self._bg_view and self._bg_view.disconnect then + self._bg_view:disconnect() + end + end, + }, { text = _("Edit"), callback = function()