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 Commits@gajim.org https://lists.gajim.org/cgi-bin/listinfo/commits