slightly better notifications. at least, it fixes #652
authorThomasV <thomasv@gitorious>
Thu, 17 Apr 2014 15:38:21 +0000 (17:38 +0200)
committerThomasV <thomasv@gitorious>
Thu, 17 Apr 2014 15:38:21 +0000 (17:38 +0200)
gui/qt/main_window.py
lib/daemon.py
lib/interface.py
lib/network.py
lib/wallet.py

index 5bbb318..6f8bd7c 100644 (file)
@@ -409,12 +409,12 @@ class ElectrumWindow(QMainWindow):
             return
 
         print_error("Notifying GUI")
-        if len(self.network.interface.pending_transactions_for_notifications) > 0:
+        if len(self.network.pending_transactions_for_notifications) > 0:
             # Combine the transactions if there are more then three
-            tx_amount = len(self.network.interface.pending_transactions_for_notifications)
+            tx_amount = len(self.network.pending_transactions_for_notifications)
             if(tx_amount >= 3):
                 total_amount = 0
-                for tx in self.network.interface.pending_transactions_for_notifications:
+                for tx in self.network.pending_transactions_for_notifications:
                     is_relevant, is_mine, v, fee = self.wallet.get_tx_value(tx)
                     if(v > 0):
                         total_amount += v
@@ -422,11 +422,11 @@ class ElectrumWindow(QMainWindow):
                 self.notify(_("%(txs)s new transactions received. Total amount received in the new transactions %(amount)s %(unit)s") \
                                 % { 'txs' : tx_amount, 'amount' : self.format_amount(total_amount), 'unit' : self.base_unit()})
 
-                self.network.interface.pending_transactions_for_notifications = []
+                self.network.pending_transactions_for_notifications = []
             else:
-              for tx in self.network.interface.pending_transactions_for_notifications:
+              for tx in self.network.pending_transactions_for_notifications:
                   if tx:
-                      self.network.interface.pending_transactions_for_notifications.remove(tx)
+                      self.network.pending_transactions_for_notifications.remove(tx)
                       is_relevant, is_mine, v, fee = self.wallet.get_tx_value(tx)
                       if(v > 0):
                           self.notify(_("New transaction received. %(amount)s %(unit)s") % { 'amount' : self.format_amount(v), 'unit' : self.base_unit()})
index 83b753b..590de0e 100644 (file)
@@ -45,6 +45,7 @@ class NetworkProxy(threading.Thread):
         self.subscriptions = {}
         self.debug = False
         self.lock = threading.Lock()
+        self.pending_transactions_for_notifications = []
 
 
     def start(self, start_daemon=False):
index c2a21ec..0b1cba4 100644 (file)
@@ -105,7 +105,6 @@ class Interface(threading.Thread):
         #json
         self.message_id = 0
         self.unanswered_requests = {}
-        self.pending_transactions_for_notifications= []
 
         # parse server
         self.server = server
index 3c4bfcd..51b8407 100644 (file)
@@ -111,6 +111,7 @@ class Network(threading.Thread):
         self.subscriptions = {}
         self.subscriptions[self.on_banner] = [('server.banner',[])]
         self.subscriptions[self.on_peers] = [('server.peers.subscribe',[])]
+        self.pending_transactions_for_notifications = []
 
 
     def is_connected(self):
index 491642b..857e903 100644 (file)
@@ -1103,7 +1103,7 @@ class NewWallet:
                 print_error("received transaction that is no longer referenced in history", tx_hash)
                 return
             self.transactions[tx_hash] = tx
-            self.network.interface.pending_transactions_for_notifications.append(tx)
+            self.network.pending_transactions_for_notifications.append(tx)
             self.save_transactions()
             if self.verifier and tx_height>0: 
                 self.verifier.add(tx_hash, tx_height)