From d715c405a7fbeeb3e0415b48fa6fcfd0e23d889e Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Fri, 29 Jan 2016 20:43:25 +0100
Subject: [PATCH] Refresh tabs with cancel of transaction

---
 src/sakia/core/app.py                 |  1 +
 src/sakia/gui/transactions_tab.py     |  1 +
 src/sakia/gui/widgets/context_menu.py | 11 ++++-------
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/sakia/core/app.py b/src/sakia/core/app.py
index 7f66f353..860be495 100644
--- a/src/sakia/core/app.py
+++ b/src/sakia/core/app.py
@@ -35,6 +35,7 @@ class Application(QObject):
 
     version_requested = pyqtSignal()
     view_identity_in_wot = pyqtSignal(Identity)
+    refresh_transfers = pyqtSignal()
 
     def __init__(self, qapp, loop, identities_registry):
         """
diff --git a/src/sakia/gui/transactions_tab.py b/src/sakia/gui/transactions_tab.py
index cead5a85..6bb27065 100644
--- a/src/sakia/gui/transactions_tab.py
+++ b/src/sakia/gui/transactions_tab.py
@@ -62,6 +62,7 @@ class TransactionsTabWidget(QObject):
 
         model.modelAboutToBeReset.connect(lambda: self.ui.table_history.setEnabled(False))
         model.modelReset.connect(lambda: self.ui.table_history.setEnabled(True))
+        self.app.refresh_transfers.connect(self.refresh)
 
         self.ui.progressbar.hide()
         self.refresh()
diff --git a/src/sakia/gui/widgets/context_menu.py b/src/sakia/gui/widgets/context_menu.py
index c0d00cd0..fc25841f 100644
--- a/src/sakia/gui/widgets/context_menu.py
+++ b/src/sakia/gui/widgets/context_menu.py
@@ -144,8 +144,7 @@ class ContextMenu(QObject):
     async def send_money(self, identity):
         await TransferMoneyDialog.send_money_to_identity(self._app, self._account, self._password_asker,
                                                             self._community, identity)
-        #TODO: Send signal from account to refresh transfers
-        #self.ui.table_history.model().sourceModel().refresh_transfers()
+        self._app.refresh_transfers.emit()
 
     def view_wot(self, identity):
         self.view_identity_in_wot.emit(identity)
@@ -159,18 +158,16 @@ class ContextMenu(QObject):
     async def send_again(self, transfer):
         await TransferMoneyDialog.send_transfer_again(self._app, self._app.current_account,
                                      self._password_asker, self._community, transfer)
-        #TODO: Send signal from account to refresh transfers
-        #self.ui.table_history.model().sourceModel().refresh_transfers()
+        self._app.refresh_transfers.emit()
 
     def cancel_transfer(self, transfer):
-        reply = QMessageBox.warning(self, self.tr("Warning"),
+        reply = QMessageBox.warning(self.qmenu, self.tr("Warning"),
                              self.tr("""Are you sure ?
 This money transfer will be removed and not sent."""),
 QMessageBox.Ok | QMessageBox.Cancel)
         if reply == QMessageBox.Ok:
             transfer.cancel()
-        #TODO: Send signal from transfer to refresh transfers
-        #self.ui.table_history.model().sourceModel().refresh_transfers()
+        self._app.refresh_transfers.emit()
 
     @asyncify
     async def copy_transaction_to_clipboard(self, tx):
-- 
GitLab