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
