Daniel Brötzmann pushed to branch mainwindow at gajim / gajim
Commits: 666a5dab by wurstsalat at 2021-11-01T18:23:00+01:00 Differentiate between incoming/outgoing file transfers/calls
- - - - - 07a13025 by wurstsalat at 2021-11-01T18:26:37+01:00 Remove remnant of ShowNextPendingEvent action
- - - - -
8 changed files:
- data/org.gajim.Gajim.desktop.in - gajim/common/const.py - gajim/common/jingle_ft.py - gajim/common/jingle_session.py - gajim/gtk/call_widget.py - gajim/gtk/chat_list.py - gajim/gtk/controls/base.py - gajim/gtk/filetransfer.py
Changes:
===================================== data/org.gajim.Gajim.desktop.in ===================================== @@ -13,7 +13,7 @@ X-GNOME-UsesNotifications=true Terminal=false Type=Application MimeType=x-scheme-handler/xmpp; -Actions=StartChat;ShowNextPendingEvent; +Actions=StartChat;
[Desktop Action StartChat] Exec=gajim --start-chat
===================================== gajim/common/const.py ===================================== @@ -69,8 +69,10 @@ class KindConstant(IntEnum): SINGLE_MSG_SENT = 5 CHAT_MSG_SENT = 6 ERROR = 7 - FILE_TRANSFER = 8 - CALL = 9 + FILE_TRANSFER_INCOMING = 8 + FILE_TRANSFER_OUTGOING = 9 + CALL_INCOMING = 10 + CALL_OUTGOING = 11
def __str__(self): return str(self.value)
===================================== gajim/common/jingle_ft.py ===================================== @@ -151,7 +151,7 @@ def __on_session_initiate(self, stanza, content, error, action): account, jid.bare, timestamp, - KindConstant.FILE_TRANSFER, + KindConstant.FILE_TRANSFER_INCOMING, additional_data=additional_data)
if self.session.request:
===================================== gajim/common/jingle_session.py ===================================== @@ -601,7 +601,7 @@ def __on_session_initiate(self, stanza, jingle, error, action): account, jid.bare, timestamp, - KindConstant.CALL, + KindConstant.CALL_INCOMING, additional_data=additional_data)
def __broadcast(self, stanza, jingle, error, action):
===================================== gajim/gtk/call_widget.py ===================================== @@ -15,6 +15,7 @@ from typing import Optional # pylint: disable=unused-import
import logging +import time
from gi.repository import GObject from gi.repository import Gtk @@ -23,6 +24,8 @@
from gajim.common import app from gajim.common.const import JingleState +from gajim.common.const import KindConstant +from gajim.common.helpers import AdditionalDataDict from gajim.common.i18n import _ from gajim.common.nec import NetworkEvent
@@ -138,6 +141,7 @@ def _on_jingle_button_toggled(self, jingle_types): self._contact.jid) self._set_jingle_state('audio', JingleState.CONNECTING, sid) self._set_jingle_state('video', JingleState.CONNECTING, sid) + self._store_outgoing_call(sid) return
if 'audio' in jingle_types: @@ -147,6 +151,7 @@ def _on_jingle_button_toggled(self, jingle_types): sid = self._client.get_module('Jingle').start_audio( self._contact.jid) self._set_jingle_state('audio', JingleState.CONNECTING, sid) + self._store_outgoing_call(sid)
if 'video' in jingle_types: if self._jingle['video'].state != JingleState.NULL: @@ -155,6 +160,17 @@ def _on_jingle_button_toggled(self, jingle_types): sid = self._client.get_module('Jingle').start_video( self._contact.jid) self._set_jingle_state('video', JingleState.CONNECTING, sid) + self._store_outgoing_call(sid) + + def _store_outgoing_call(self, sid): + additional_data = AdditionalDataDict() + additional_data.set_value('gajim', 'sid', sid) + app.storage.archive.insert_into_logs( + self._account, + self._contact.jid.bare, + time.time(), + KindConstant.CALL_OUTGOING, + additional_data=additional_data)
def _on_num_button_pressed(self, _widget, num): self._get_audio_content().start_dtmf(num)
===================================== gajim/gtk/chat_list.py ===================================== @@ -464,13 +464,15 @@ def __init__(self, workspace_id, account, jid, type_, pinned): uf_timestamp = get_uf_relative_time(line.time) self._ui.timestamp_label.set_text(uf_timestamp)
- if line.kind == KindConstant.FILE_TRANSFER: + if line.kind in (KindConstant.FILE_TRANSFER_INCOMING, + KindConstant.FILE_TRANSFER_OUTGOING): self._ui.message_label.set_text(_('File Transfer')) self.timestamp = line.time uf_timestamp = get_uf_relative_time(line.time) self._ui.timestamp_label.set_text(uf_timestamp)
- if line.kind == KindConstant.CALL: + if line.kind in (KindConstant.CALL_INCOMING, + KindConstant.CALL_OUTGOING): self._ui.message_label.set_text(_('Call')) self.timestamp = line.time uf_timestamp = get_uf_relative_time(line.time)
===================================== gajim/gtk/controls/base.py ===================================== @@ -1360,13 +1360,15 @@ def fetch_n_lines_history(self, _scrolled, before, n_lines):
def add_messages(self, messages): for msg in messages: - if msg.kind == KindConstant.FILE_TRANSFER: + if msg.kind in (KindConstant.FILE_TRANSFER_INCOMING, + KindConstant.FILE_TRANSFER_OUTGOING): if msg.additional_data.get_value('gajim', 'type') == 'jingle': self.conversation_view.add_jingle_file_transfer( db_message=msg) continue
- if msg.kind == KindConstant.CALL: + if msg.kind in (KindConstant.CALL_INCOMING, + KindConstant.CALL_OUTGOING): self.conversation_view.add_call_message(db_message=msg) continue
===================================== gajim/gtk/filetransfer.py ===================================== @@ -414,7 +414,7 @@ def send_file(self, account, contact, resource_jid, file_path, account, contact.jid.bare, time.time(), - KindConstant.FILE_TRANSFER, + KindConstant.FILE_TRANSFER_OUTGOING, additional_data=additional_data)
client = app.get_client(account)
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/compare/ccfa888b0501a48405cae6268da74460...