commit 32c1b9cd5902cae9840b121b2dd0dfe332ff49a9
parent 62fe37a86357ea5c8e24f45ef0cfd18a82f76ba3
Author: Neil Booth <kyuupichan@gmail.com>
Date: Sat, 29 Aug 2015 21:55:17 +0900
Handle openalias properly in contacts tab
- Filter out of block explorer URLs
- Make them uneditable
Diffstat:
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
@@ -1507,7 +1507,7 @@ class ElectrumWindow(QMainWindow):
return self.create_list_tab(l)
def create_contacts_tab(self):
- l = MyTreeWidget(self, self.create_contact_menu, [_('Name'), _('Address'), _('Type')], 1, [0, 1])
+ l = MyTreeWidget(self, self.create_contact_menu, [_('Name'), _('Value'), _('Type')], 1, [0, 1])
l.setSelectionMode(QAbstractItemView.ExtendedSelection)
l.item_edited = self.contact_edited
self.contacts_list = l
@@ -1685,12 +1685,15 @@ class ElectrumWindow(QMainWindow):
else:
labels = [unicode(item.text(0)) for item in selected]
addrs = [unicode(item.text(1)) for item in selected]
+ types = [unicode(item.text(2)) for item in selected]
menu.addAction(_("Copy to Clipboard"), lambda:
self.app.clipboard().setText('\n'.join(labels)))
menu.addAction(_("Pay to"), lambda: self.payto_contacts(labels))
menu.addAction(_("Delete"), lambda: self.delete_contacts(labels))
- URLs = [URL for URL in [block_explorer_URL(self.config, 'addr', addr)
- for addr in addrs] if URL is not None]
+ URLs = []
+ for (addr, _type) in zip(addrs, types):
+ if _type == 'address':
+ URLs.append(block_explorer_URL(self.config, 'addr', addr))
if URLs:
menu.addAction(_("View on block explorer"),
lambda: map(webbrowser.open, URLs))
@@ -1826,7 +1829,10 @@ class ElectrumWindow(QMainWindow):
l.clear()
for key in sorted(self.contacts.keys()):
_type, value = self.contacts[key]
- item = EditableItem([key, value, _type])
+ if _type == 'address':
+ item = EditableItem([key, value, _type])
+ else: # openalias items shouldn't be editable
+ item = QTreeWidgetItem([key, value, _type])
item.setData(0, Qt.UserRole, key)
l.addTopLevelItem(item)
if key == current_key: