URI: 
       tuse address label as payment request message. display status and hide address in table - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 5f30348d62dc2fc5cc52f8a064f0a9463084cc2c
   DIR parent eac3129cba68ff1dd216ce67c2ae02b74c2b18d2
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sun, 19 Apr 2015 13:44:40 +0200
       
       use address label as payment request message. display status and hide address in table
       
       Diffstat:
         M gui/qt/main_window.py               |      21 +++++++++++++++------
       
       1 file changed, 15 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -606,12 +606,13 @@ class ElectrumWindow(QMainWindow):
                grid.setRowStretch(6, 1)
        
                self.receive_requests_label = QLabel(_('Saved Requests'))
       -        self.receive_list = MyTreeWidget(self, self.receive_list_menu, [_('Date'), _('Account'), _('Address'), _('Message'), _('Amount')], [])
       +        self.receive_list = MyTreeWidget(self, self.receive_list_menu, [_('Date'), _('Account'), _('Address'), _('Message'), _('Amount'), _('Status')], [])
                self.receive_list.currentItemChanged.connect(self.receive_item_changed)
                self.receive_list.itemClicked.connect(self.receive_item_changed)
                self.receive_list.setSortingEnabled(True)
                self.receive_list.setColumnWidth(0, 180)
                self.receive_list.hideColumn(1)     # the update will show it if necessary
       +        self.receive_list.hideColumn(2)     # don't show address
                self.receive_list.setColumnWidth(2, 340)
                h = self.receive_list.header()
                h.setStretchLastSection(False)
       t@@ -625,7 +626,8 @@ class ElectrumWindow(QMainWindow):
                    return
                addr = str(item.text(2))
                req = self.receive_requests[addr]
       -        time, amount, message = req['time'], req['amount'], req['msg']
       +        time, amount = req['time'], req['amount']
       +        message = self.wallet.labels.get(addr, '')
                self.receive_address_e.setText(addr)
                self.receive_message_e.setText(message)
                self.receive_amount_e.setAmount(amount)
       t@@ -649,7 +651,8 @@ class ElectrumWindow(QMainWindow):
                item = self.receive_list.itemAt(position)
                addr = str(item.text(2))
                req = self.receive_requests[addr]
       -        time, amount, message = req['time'], req['amount'], req['msg']
       +        time, amount = req['time'], req['amount']
       +        message = self.wallet.labels.get(addr, '')
                URI = util.create_URI(addr, amount, message)
                menu = QMenu()
                menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(str(URI)))
       t@@ -665,9 +668,11 @@ class ElectrumWindow(QMainWindow):
                    QMessageBox.warning(self, _('Error'), _('No message or amount'), _('OK'))
                    return
                self.receive_requests = self.wallet.storage.get('receive_requests2',{})
       -        self.receive_requests[addr] = {'time':timestamp, 'amount':amount, 'msg':message}
       +        self.receive_requests[addr] = {'time':timestamp, 'amount':amount }
                self.wallet.storage.put('receive_requests2', self.receive_requests)
       +        self.wallet.set_label(addr, message)
                self.update_receive_tab()
       +        self.update_address_tab()
                self.save_request_button.setEnabled(False)
        
            def get_receive_address(self):
       t@@ -750,13 +755,17 @@ class ElectrumWindow(QMainWindow):
                # clear the list and fill it again
                self.receive_list.clear()
                for address, req in self.receive_requests.viewitems():
       -            timestamp, amount, message = req['time'], req['amount'], req['msg']
       +            timestamp, amount = req['time'], req['amount']
       +            message = self.wallet.labels.get(address, '')
                    # only show requests for the current account
                    if address not in domain:
                        continue
                    date = format_time(timestamp)
                    account = self.wallet.get_account_name(self.wallet.get_account_from_address(address))
       -            item = QTreeWidgetItem( [ date, account, address, message, self.format_amount(amount) if amount else ""])
       +            amount_str = self.format_amount(amount) if amount else ""
       +            paid = amount < self.wallet.get_addr_received(address)
       +            status = PR_PAID if paid else PR_UNPAID
       +            item = QTreeWidgetItem( [ date, account, address, message, amount_str, pr_tooltips[status]])
                    item.setFont(2, QFont(MONOSPACE_FONT))
                    self.receive_list.addTopLevelItem(item)