Philipp Hörist pushed to branch gajim_1.3 at gajim / gajim
Commits:
2ed39767 by lovetox at 2021-01-08T23:32:44+01:00
FileTransfer: Add cancel signal
- - - - -
5540f00c by lovetox at 2021-01-08T23:33:42+01:00
FileTransferProgress: Use cancel action
- - - - -
3 changed files:
- gajim/common/filetransfer.py
- gajim/gtk/filetransfer_progress.py
- gajim/gui_interface.py
Changes:
=====================================
gajim/common/filetransfer.py
=====================================
@@ -105,3 +105,6 @@ def set_finished(self):
def update_progress(self):
self.notify('progress')
+
+ def cancel(self):
+ self.notify('cancel')
=====================================
gajim/gtk/filetransfer_progress.py
=====================================
@@ -58,8 +58,11 @@ def __init__(self, transfer):
self._ui.connect_signals(self)
def _on_transfer_state_change(self, transfer, _signal_name, state):
+ if self._destroyed:
+ return
+
if state.is_error:
- ErrorDialog(_('Upload Failed'),
+ ErrorDialog(_('Error'),
transfer.error_text,
transient_for=app.interface.roster.window)
self.destroy()
@@ -80,12 +83,12 @@ def _on_cancel_button_clicked(self, _widget):
self.destroy()
def _on_destroy(self, *args):
+ self._destroyed = True
+
if self._transfer.state.is_active:
- client = app.get_client(self._transfer.account)
- client.get_module('HTTPUpload').cancel_transfer(self._transfer)
+ self._transfer.cancel()
self._transfer = None
- self._destroyed = True
if self._pulse is not None:
GLib.source_remove(self._pulse)
=====================================
gajim/gui_interface.py
=====================================
@@ -878,6 +878,7 @@ def _send_httpupload(self, chat_control, path):
None, dialog_name='open-file-error2', args=error))
return
+ transfer.connect('cancel', self._on_cancel_upload)
transfer.connect('state-changed',
self._on_http_upload_state_changed)
FileTransferProgress(transfer)
@@ -901,6 +902,11 @@ def _on_http_upload_state_changed(transfer, _signal_name,
state):
client = app.get_client(transfer.account)
client.send_message(message)
+ @staticmethod
+ def _on_cancel_upload(transfer, _signal_name):
+ client = app.get_client(transfer.account)
+ client.get_module('HTTPUpload').cancel_transfer(transfer)
+
@staticmethod
def handle_event_metacontacts(obj):
app.contacts.define_metacontacts(obj.conn.name, obj.meta_list)
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/4d6eef1ad280765cff9a89e827ad6284e6445bbe...5540f00c5fe616182c8c90ba35e36c5ad7e0f044
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/4d6eef1ad280765cff9a89e827ad6284e6445bbe...5540f00c5fe616182c8c90ba35e36c5ad7e0f044
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