| ... |
... |
@@ -22,6 +22,8 @@ |
|
22
|
22
|
# You should have received a copy of the GNU General Public License
|
|
23
|
23
|
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
24
|
|
|
|
25
|
+from typing import Any
|
|
|
26
|
+
|
|
25
|
27
|
import os
|
|
26
|
28
|
import logging
|
|
27
|
29
|
|
| ... |
... |
@@ -31,6 +33,7 @@ |
|
31
|
33
|
from gajim.common import app
|
|
32
|
34
|
from gajim.common import ged
|
|
33
|
35
|
from gajim.common import helpers
|
|
|
36
|
+from gajim.common import events
|
|
34
|
37
|
from gajim.common.structs import OutgoingMessage
|
|
35
|
38
|
|
|
36
|
39
|
from gajim.gui.add_contact import AddContact
|
| ... |
... |
@@ -207,15 +210,9 @@ class GajimRemote(Server): |
|
207
|
210
|
<signal name='AccountPresence'>
|
|
208
|
211
|
<arg type='av' />
|
|
209
|
212
|
</signal>
|
|
210
|
|
- <signal name='ContactAbsence'>
|
|
211
|
|
- <arg type='av' />
|
|
212
|
|
- </signal>
|
|
213
|
213
|
<signal name='ContactPresence'>
|
|
214
|
214
|
<arg type='av' />
|
|
215
|
215
|
</signal>
|
|
216
|
|
- <signal name='ContactStatus'>
|
|
217
|
|
- <arg type='av' />
|
|
218
|
|
- </signal>
|
|
219
|
216
|
<signal name='GCMessage'>
|
|
220
|
217
|
<arg type='av' />
|
|
221
|
218
|
</signal>
|
| ... |
... |
@@ -270,17 +267,12 @@ def on_message_sent(self, obj): |
|
270
|
267
|
self.raise_signal('MessageSent', (obj.account, [
|
|
271
|
268
|
obj.jid, obj.message, chatstate]))
|
|
272
|
269
|
|
|
273
|
|
- def on_presence_received(self, obj):
|
|
274
|
|
- if obj.old_show < 2 and obj.new_show > 1:
|
|
275
|
|
- event = 'ContactPresence'
|
|
276
|
|
- elif obj.old_show > 1 and obj.new_show < 2:
|
|
277
|
|
- event = 'ContactAbsence'
|
|
278
|
|
- elif obj.new_show > 1:
|
|
279
|
|
- event = 'ContactStatus'
|
|
280
|
|
- else:
|
|
281
|
|
- return
|
|
282
|
|
- self.raise_signal(event, (obj.conn.name, [obj.jid, obj.show,
|
|
283
|
|
- obj.status, obj.resource, obj.prio, obj.timestamp]))
|
|
|
270
|
+ def on_presence_received(self, event: events.PresenceReceived) -> None:
|
|
|
271
|
+ self.raise_signal('ContactPresence', (event.account, [
|
|
|
272
|
+ event.jid,
|
|
|
273
|
+ event.resource,
|
|
|
274
|
+ event.show,
|
|
|
275
|
+ event.status]))
|
|
284
|
276
|
|
|
285
|
277
|
def on_subscribe_presence_received(self, obj):
|
|
286
|
278
|
self.raise_signal('Subscribe', (obj.conn.name, [obj.jid, obj.status,
|
| ... |
... |
@@ -315,7 +307,7 @@ def _nec_decrypted_message_received(self, obj): |
|
315
|
307
|
def on_our_status(self, event):
|
|
316
|
308
|
self.raise_signal('AccountPresence', (event.show, event.account))
|
|
317
|
309
|
|
|
318
|
|
- def raise_signal(self, event_name, data):
|
|
|
310
|
+ def raise_signal(self, event_name: str, data: Any) -> None:
|
|
319
|
311
|
log.info('Send event %s', event_name)
|
|
320
|
312
|
self.con.emit_signal(None,
|
|
321
|
313
|
'/org/gajim/dbus/RemoteObject',
|