URI: 
       timprove gui.show_tx_details - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 7c42f09f41c38a1aa3321e900c6cbfe82c8ec1e8
   DIR parent 1f24f6f9bebd76905165d6a2c3a9a2d3f8283028
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Thu, 28 Feb 2013 13:13:35 +0100
       
       improve gui.show_tx_details
       
       Diffstat:
         M lib/gui_qt.py                       |      50 +++++++++++++++++++++++--------
       
       1 file changed, 37 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/lib/gui_qt.py b/lib/gui_qt.py
       t@@ -537,34 +537,58 @@ class ElectrumWindow(QMainWindow):
                tx_hash = str(item.data(0, Qt.UserRole).toString())
                if not tx_hash: return
                menu = QMenu()
       -        menu.addAction(_("Copy ID to Clipboard"), lambda: self.app.clipboard().setText(tx_hash))
       -        menu.addAction(_("Details"), lambda: self.tx_details(tx_hash))
       +        #menu.addAction(_("Copy ID to Clipboard"), lambda: self.app.clipboard().setText(tx_hash))
       +        menu.addAction(_("Details"), lambda: self.show_tx_details(self.wallet.transactions.get(tx_hash)))
                menu.addAction(_("Edit description"), lambda: self.tx_label_clicked(item,2))
                menu.exec_(self.contacts_list.viewport().mapToGlobal(position))
        
        
       -    def tx_details(self, tx_hash):
       +    def show_tx_details(self, tx):
                dialog = QDialog(None)
                dialog.setModal(1)
                dialog.setWindowTitle(_("Transaction Details"))
       +        vbox = QVBoxLayout()
       +        dialog.setLayout(vbox)
       +        dialog.setMinimumSize(600,300)
       +
       +        tx_hash = tx.hash()
       +        if tx_hash in self.wallet.transactions.keys():
       +            is_mine, v, fee = self.wallet.get_tx_value(tx)
       +            conf, timestamp = self.wallet.verifier.get_confirmations(tx_hash)
       +            if timestamp:
       +                time_str = datetime.datetime.fromtimestamp(timestamp).isoformat(' ')[:-3]
       +            else:
       +                time_str = 'pending'
       +        else:
       +            is_mine = False
       +
       +        vbox.addWidget(QLabel("Transaction ID:"))
       +        e  = QLineEdit(tx_hash)
       +        e.setReadOnly(True)
       +        vbox.addWidget(e)
       +
       +        vbox.addWidget(QLabel("Date: %s"%time_str))
       +        vbox.addWidget(QLabel("Status: %d confirmations"%conf))
       +        if is_mine:
       +            if fee: 
       +                vbox.addWidget(QLabel("Amount sent: %s"% format_satoshis(v-fee, False)))
       +                vbox.addWidget(QLabel("Transaction fee: %s"% format_satoshis(fee, False)))
       +            else:
       +                vbox.addWidget(QLabel("Amount sent: %s"% format_satoshis(v, False)))
       +                vbox.addWidget(QLabel("Transaction fee: unknown"))
       +        else:
       +            vbox.addWidget(QLabel("Amount received: %s"% format_satoshis(v, False)))
        
       -        main_text = QTextEdit()
       -        main_text.setText(self.wallet.get_tx_details(tx_hash))
       -        main_text.setReadOnly(True)
       -        main_text.setMinimumSize(550,275)
       -        
       -        ok_button = QPushButton(_("OK"))
       +        vbox.addWidget( self.generate_transaction_information_widget(tx) )
       +
       +        ok_button = QPushButton(_("Close"))
                ok_button.setDefault(True)
                ok_button.clicked.connect(dialog.accept)
                
                hbox = QHBoxLayout()
                hbox.addStretch(1)
                hbox.addWidget(ok_button)
       -        
       -        vbox = QVBoxLayout()
       -        vbox.addWidget(main_text)
                vbox.addLayout(hbox)
       -        dialog.setLayout(vbox)
                dialog.exec_()
        
            def tx_label_clicked(self, item, column):