diff options
author | wurstsalat <mailtrash@posteo.de> | 2023-10-17 17:02:47 +0300 |
---|---|---|
committer | wurstsalat <mailtrash@posteo.de> | 2023-10-17 17:02:53 +0300 |
commit | 3f24fd563cc2a0098944a743d36bc0462b5171a6 (patch) | |
tree | 39c937dd8889c8721dc567dcf4d6f2627b58212d | |
parent | 5ec33565f83d0255dd0781cd7a9a930f7e3792f6 (diff) |
fix: NotificationManager: Update actions if online state changes
Fixes #11642
-rw-r--r-- | gajim/gtk/notification_manager.py | 11 |
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'), |