delete contact and edit label from menu
This commit is contained in:
@@ -237,6 +237,7 @@ class ElectrumWindow(QMainWindow):
|
||||
self.update_history_tab()
|
||||
self.update_receive_tab()
|
||||
self.update_contacts_tab()
|
||||
self.update_completions()
|
||||
|
||||
|
||||
def create_history_tab(self):
|
||||
@@ -310,14 +311,20 @@ class ElectrumWindow(QMainWindow):
|
||||
item.setForeground(2, QBrush(QColor('gray')))
|
||||
self.is_edit=False
|
||||
|
||||
def edit_label(self, is_recv):
|
||||
l = self.receive_list if is_recv else self.contacts_list
|
||||
c = 2 if is_recv else 1
|
||||
item = l.currentItem()
|
||||
item.setFlags(Qt.ItemIsEditable|Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||
l.editItem( item, c )
|
||||
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||
|
||||
def address_label_clicked(self, item, column, l, column_addr, column_label):
|
||||
if column==column_label and item.isSelected():
|
||||
addr = unicode( item.text(column_addr) )
|
||||
label = unicode( item.text(column_label) )
|
||||
if label in self.wallet.aliases.keys():
|
||||
return
|
||||
#if addr in map(lambda x:x[1], self.wallet.aliases.values()):
|
||||
# return
|
||||
item.setFlags(Qt.ItemIsEditable|Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||
l.editItem( item, column )
|
||||
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||
@@ -643,6 +650,7 @@ class ElectrumWindow(QMainWindow):
|
||||
menu = QMenu()
|
||||
menu.addAction(_("Copy to Clipboard"), lambda: self.app.clipboard().setText(addr))
|
||||
menu.addAction(_("View QR code"),lambda: self.show_address_qrcode(addr))
|
||||
menu.addAction(_("Edit label"), lambda: self.edit_label(True))
|
||||
if self.wallet.expert_mode:
|
||||
t = _("Unfreeze") if addr in self.wallet.frozen_addresses else _("Freeze")
|
||||
menu.addAction(t, lambda: self.toggle_freeze(addr))
|
||||
@@ -657,17 +665,30 @@ class ElectrumWindow(QMainWindow):
|
||||
self.payto_e.setText(addr)
|
||||
self.amount_e.setFocus()
|
||||
|
||||
def delete_contact(self, addr):
|
||||
if self.question("Do you want to remove %s from your list of contacts?"%addr):
|
||||
self.wallet.addressbook.remove(addr)
|
||||
if addr in self.wallet.labels.keys():
|
||||
self.wallet.labels.pop(addr)
|
||||
self.update_history_tab()
|
||||
self.update_contacts_tab()
|
||||
self.update_completions()
|
||||
|
||||
def create_contact_menu(self, position):
|
||||
# fixme: this function apparently has a side effect.
|
||||
# if it is not called the menu pops up several times
|
||||
self.receive_list.selectedIndexes()
|
||||
self.contacts_list.selectedIndexes()
|
||||
addr = self.get_current_addr(False)
|
||||
menu = QMenu()
|
||||
menu.addAction(_("Pay to"), lambda: self.payto(addr))
|
||||
menu.addAction(_("Copy to Clipboard"), lambda: self.app.clipboard().setText(addr))
|
||||
menu.addAction(_("View QR code"),lambda: self.show_address_qrcode(addr))
|
||||
menu.addAction(_("Pay to"), lambda: self.payto(addr))
|
||||
menu.exec_(self.receive_list.viewport().mapToGlobal(position))
|
||||
item = self.contacts_list.currentItem()
|
||||
label = unicode( item.text(1) )
|
||||
if label not in self.wallet.aliases.keys():
|
||||
menu.addAction(_("Edit label"), lambda: self.edit_label(False))
|
||||
menu.addAction(_("Delete"), lambda: self.delete_contact(addr))
|
||||
menu.exec_(self.contacts_list.viewport().mapToGlobal(position))
|
||||
|
||||
|
||||
def update_receive_tab(self):
|
||||
@@ -739,7 +760,6 @@ class ElectrumWindow(QMainWindow):
|
||||
QMessageBox.information(self, 'Alias', msg, 'OK')
|
||||
|
||||
def update_contacts_tab(self):
|
||||
self.update_completions()
|
||||
|
||||
l = self.contacts_list
|
||||
l.clear()
|
||||
@@ -794,6 +814,8 @@ class ElectrumWindow(QMainWindow):
|
||||
self.wallet.addressbook.append(address)
|
||||
self.wallet.save()
|
||||
self.update_contacts_tab()
|
||||
self.update_history_tab()
|
||||
self.update_completions()
|
||||
else:
|
||||
QMessageBox.warning(self, _('Error'), _('Invalid Address'), _('OK'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user