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

Reply via email to