Philipp Hörist pushed to branch master at gajim / gajim


Commits:
0654533e by lovetox at 2022-01-09T15:18:06+01:00
Add server shutdown notification

- - - - -


3 changed files:

- gajim/common/client.py
- gajim/gtk/application.py
- gajim/gtk/notification.py


Changes:

=====================================
gajim/common/client.py
=====================================
@@ -277,6 +277,12 @@ def _on_disconnected(self,
                 app.settings.set_account_setting(self._account,
                                                  'resource',
                                                  'gajim.$rand')
+            if error == 'system-shutdown':
+                app.ged.raise_event(
+                    Notification(account=self._account,
+                                 type='server-shutdown',
+                                 title=_('Server Shutdown'),
+                                 text=text or _('The server was shut down.')))
 
         elif domain == StreamError.SASL:
             self._reconnect = False


=====================================
gajim/gtk/application.py
=====================================
@@ -719,7 +719,8 @@ def _on_open_event_action(_action: Gio.SimpleAction,
         if params.type in ('connection-failed',
                            'subscription-request',
                            'unsubscribed',
-                           'group-chat-invitation'):
+                           'group-chat-invitation',
+                           'server-shutdown'):
 
             app.window.show_account_page(params.account)
 


=====================================
gajim/gtk/notification.py
=====================================
@@ -72,6 +72,7 @@
 
 _notification_backend = None
 
+
 class NotificationBackend(EventHelper):
     def __init__(self) -> None:
         EventHelper.__init__(self)
@@ -94,6 +95,7 @@ def _on_our_show(self, event: events.ShowChanged) -> None:
         if not app.account_is_connected(event.account):
             return
         self._withdraw(['connection-failed', event.account])
+        self._withdraw(['server-shutdown', event.account])
 
     def _send(self, event: events.Notification) -> None:
         raise NotImplementedError
@@ -232,6 +234,7 @@ class Linux(NotificationBackend):
 
     _action_types = [
         'connection-failed',
+        'server-shutdown',
         'file-transfer',
         'group-chat-invitation',
         'incoming-call',
@@ -322,8 +325,8 @@ def _add_actions(self,
 
     def _make_notification_id(self,
                               event: events.Notification) -> Optional[str]:
-        if event.type == 'connection-failed':
-            return self._make_id(['connection-failed', event.account])
+        if event.type in ('connection-failed', 'server-shutdown'):
+            return self._make_id([event.type, event.account])
 
         if event.type == 'incoming-message':
             return self._make_id(['new-message', event.account, 
str(event.jid)])



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/0654533e62d1ac872f27a3000d217181e1ebd9ae

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/0654533e62d1ac872f27a3000d217181e1ebd9ae
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to