Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwurstsalat <mailtrash@posteo.de>2023-10-17 17:02:47 +0300
committerwurstsalat <mailtrash@posteo.de>2023-10-17 17:02:53 +0300
commit3f24fd563cc2a0098944a743d36bc0462b5171a6 (patch)
tree39c937dd8889c8721dc567dcf4d6f2627b58212d
parent5ec33565f83d0255dd0781cd7a9a930f7e3792f6 (diff)
fix: NotificationManager: Update actions if online state changes
Fixes #11642
-rw-r--r--gajim/gtk/notification_manager.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/gajim/gtk/notification_manager.py b/gajim/gtk/notification_manager.py
index 1871d895c..90e964eae 100644
--- a/gajim/gtk/notification_manager.py
+++ b/gajim/gtk/notification_manager.py
@@ -26,7 +26,9 @@ from gi.repository import Pango
from nbxmpp import JID
from gajim.common import app
+from gajim.common import types
from gajim.common.const import AvatarSize
+from gajim.common.const import SimpleClientState
from gajim.common.events import MucDecline
from gajim.common.events import MucInvitation
from gajim.common.events import Notification
@@ -52,6 +54,8 @@ class NotificationManager(Gtk.ListBox):
Gtk.ListBox.__init__(self)
self._account = account
self._client = app.get_client(account)
+ self._client.connect_signal(
+ 'state-changed', self._on_client_state_changed)
self.set_selection_mode(Gtk.SelectionMode.NONE)
self.set_halign(Gtk.Align.CENTER)
@@ -71,6 +75,13 @@ class NotificationManager(Gtk.ListBox):
def _on_destroy(self, *args: Any) -> None:
self._remove_actions()
+ def _on_client_state_changed(self,
+ _client: types.Client,
+ _signal_name: str,
+ _state: SimpleClientState
+ ) -> None:
+ self.update_actions()
+
def _add_actions(self) -> None:
actions: NotificationActionListT = [
('subscription-accept', self._on_subscription_accept, 'as'),