URI: 
       tfix: always use UserRole to store the key - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ff152141aea161d80a1e127a57a29b3e2014e765
   DIR parent 3a2e2702bb5e8257423644ca898c2bfe6fa7ac9b
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sat,  4 Apr 2015 21:38:21 +0200
       
       fix: always use UserRole to store the key
       
       Diffstat:
         M gui/qt/history_widget.py            |       2 +-
         M gui/qt/main_window.py               |      20 +++++++++-----------
         M gui/qt/util.py                      |       4 +++-
       
       3 files changed, 13 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/gui/qt/history_widget.py b/gui/qt/history_widget.py
       t@@ -94,7 +94,7 @@ class HistoryWidget(MyTreeWidget):
                menu = QMenu()
                menu.addAction(_("Copy ID to Clipboard"), lambda: self.parent.app.clipboard().setText(tx_hash))
                menu.addAction(_("Details"), lambda: self.parent.show_transaction(self.wallet.transactions.get(tx_hash)))
       -        menu.addAction(_("Edit description"), lambda: self.edit_label(item, 2))
       +        menu.addAction(_("Edit description"), lambda: self.edit_label(item))
                menu.addAction(_("View on block explorer"), lambda: webbrowser.open(block_explorer + tx_hash))
                menu.exec_(self.viewport().mapToGlobal(position))
        
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -1240,7 +1240,7 @@ class ElectrumWindow(QMainWindow):
                    icon = QIcon(pr_icons.get(status))
                    item.setIcon(4, icon)
                    item.setToolTip(4, pr_tooltips.get(status,''))
       -            item.setData(0, 32, key)
       +            item.setData(0, Qt.UserRole, key)
                    item.setFont(1, QFont(MONOSPACE_FONT))
                    item.setFont(3, QFont(MONOSPACE_FONT))
                    l.addTopLevelItem(item)
       t@@ -1289,8 +1289,8 @@ class ElectrumWindow(QMainWindow):
                addrs = [unicode(item.text(0)) for item in selected]
                if not multi_select:
                    item = self.address_list.itemAt(position)
       -            if not item: return
       -
       +            if not item:
       +                return
                    addr = addrs[0]
                    if not is_valid(addr):
                        k = str(item.data(0,32).toString())
       t@@ -1304,7 +1304,7 @@ class ElectrumWindow(QMainWindow):
                if not multi_select:
                    menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr))
                    menu.addAction(_("Request payment"), lambda: self.receive_at(addr))
       -            menu.addAction(_("Edit label"), lambda: self.edit_label(True))
       +            menu.addAction(_("Edit label"), lambda: self.address_list.edit_label(item))
                    menu.addAction(_('History'), lambda: self.show_address(addr))
                    menu.addAction(_('Public Keys'), lambda: self.show_public_keys(addr))
                    if self.wallet.can_export():
       t@@ -1380,7 +1380,7 @@ class ElectrumWindow(QMainWindow):
                    menu.addAction(_("Pay to"), lambda: self.payto(payto_addr))
                    menu.addAction(_("QR code"), lambda: self.show_qrcode("bitcoin:" + addr, _("Address")))
                    if is_editable:
       -                menu.addAction(_("Edit label"), lambda: self.edit_label(False))
       +                menu.addAction(_("Edit label"), lambda: self.contacts_list.edit_label(item))
                        menu.addAction(_("Delete"), lambda: self.delete_contact(addr))
        
                run_hook('create_contact_menu', menu, item)
       t@@ -1456,7 +1456,7 @@ class ElectrumWindow(QMainWindow):
                        account_item = QTreeWidgetItem( [ name, '', self.format_amount(c+u), ''] )
                        l.addTopLevelItem(account_item)
                        account_item.setExpanded(self.accounts_expanded.get(k, True))
       -                account_item.setData(0, Qt.UserRole+1, k)
       +                account_item.setData(0, Qt.UserRole, k)
                    else:
                        account_item = l
                    sequences = [0,1] if account.has_change() else [0]
       t@@ -1479,8 +1479,8 @@ class ElectrumWindow(QMainWindow):
                            balance = self.format_amount(c + u)
                            item = QTreeWidgetItem( [ address, label, balance, "%d"%num] )
                            item.setFont(0, QFont(MONOSPACE_FONT))
       -                    item.setData(0, Qt.UserRole, True) # label can be edited
       -                    item.setData(0, Qt.UserRole+1, address)
       +                    item.setData(0, Qt.UserRole, address)
       +                    item.setData(0, Qt.UserRole+1, True) # label can be edited
                            if address in self.wallet.frozen_addresses:
                                item.setBackgroundColor(0, QColor('lightblue'))
                            if self.wallet.is_beyond_limit(address, account, is_change):
       t@@ -1506,10 +1506,8 @@ class ElectrumWindow(QMainWindow):
                    n = self.wallet.get_num_tx(address)
                    item = QTreeWidgetItem( [ address, label, "%d"%n] )
                    item.setFont(0, QFont(MONOSPACE_FONT))
       -            # 32 = label can be edited (bool)
       -            item.setData(0, Qt.UserRole, True)
       -            # 33 = payto string
                    item.setData(0, Qt.UserRole+1, address)
       +            item.setData(0, Qt.UserRole+1, True)
                    l.addTopLevelItem(item)
                    if address == current_address:
                        l.setCurrentItem(item)
   DIR diff --git a/gui/qt/util.py b/gui/qt/util.py
       t@@ -291,7 +291,9 @@ class MyTreeWidget(QTreeWidget):
                        break
                self.emit(SIGNAL('customContextMenuRequested(const QPoint&)'), QPoint(50, i*5 + j - 1))
        
       -    def edit_label(self, item, column):
       +    def edit_label(self, item, column=None):
       +        if column is None:
       +            column = self.edit_column
                if column==self.edit_column and item.isSelected():
                    text = unicode(item.text(column))
                    key = str(item.data(0, Qt.UserRole).toString())