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


Commits:
36c04c34 by lovetox at 2022-06-15T21:06:55+02:00
fix: DBus: Unify presence signals

Unify all presence signals into one

Fixes #10934

- - - - -


1 changed file:

- gajim/remote_control.py


Changes:

=====================================
gajim/remote_control.py
=====================================
@@ -22,6 +22,8 @@
 # You should have received a copy of the GNU General Public License
 # along with Gajim. If not, see <http://www.gnu.org/licenses/>.
 
+from typing import Any
+
 import os
 import logging
 
@@ -31,6 +33,7 @@
 from gajim.common import app
 from gajim.common import ged
 from gajim.common import helpers
+from gajim.common import events
 from gajim.common.structs import OutgoingMessage
 
 from gajim.gui.add_contact import AddContact
@@ -207,15 +210,9 @@ class GajimRemote(Server):
             <signal name='AccountPresence'>
                 <arg type='av' />
             </signal>
-            <signal name='ContactAbsence'>
-                <arg type='av' />
-            </signal>
             <signal name='ContactPresence'>
                 <arg type='av' />
             </signal>
-            <signal name='ContactStatus'>
-                <arg type='av' />
-            </signal>
             <signal name='GCMessage'>
                 <arg type='av' />
             </signal>
@@ -270,17 +267,12 @@ def on_message_sent(self, obj):
         self.raise_signal('MessageSent', (obj.account, [
             obj.jid, obj.message, chatstate]))
 
-    def on_presence_received(self, obj):
-        if obj.old_show < 2 and obj.new_show > 1:
-            event = 'ContactPresence'
-        elif obj.old_show > 1 and obj.new_show < 2:
-            event = 'ContactAbsence'
-        elif obj.new_show > 1:
-            event = 'ContactStatus'
-        else:
-            return
-        self.raise_signal(event, (obj.conn.name, [obj.jid, obj.show,
-                obj.status, obj.resource, obj.prio, obj.timestamp]))
+    def on_presence_received(self, event: events.PresenceReceived) -> None:
+        self.raise_signal('ContactPresence', (event.account, [
+            event.jid,
+            event.resource,
+            event.show,
+            event.status]))
 
     def on_subscribe_presence_received(self, obj):
         self.raise_signal('Subscribe', (obj.conn.name, [obj.jid, obj.status,
@@ -315,7 +307,7 @@ def _nec_decrypted_message_received(self, obj):
     def on_our_status(self, event):
         self.raise_signal('AccountPresence', (event.show, event.account))
 
-    def raise_signal(self, event_name, data):
+    def raise_signal(self, event_name: str, data: Any) -> None:
         log.info('Send event %s', event_name)
         self.con.emit_signal(None,
                              '/org/gajim/dbus/RemoteObject',



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/36c04c34fd6448ea4604e8e481f4707d9f5a3746

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/36c04c34fd6448ea4604e8e481f4707d9f5a3746
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