correct right-click menu during multiple-select
Correct right-click menu during multiple-select in Receive
This commit is contained in:
parent
ae028e780d
commit
ce0a33cb67
|
@ -1010,19 +1010,21 @@ class ElectrumWindow(QMainWindow):
|
||||||
entry.setPalette(palette)
|
entry.setPalette(palette)
|
||||||
|
|
||||||
|
|
||||||
def toggle_freeze(self,addr):
|
def set_addrs_frozen(self,addrs,freeze):
|
||||||
if not addr: return
|
for addr in addrs:
|
||||||
if addr in self.wallet.frozen_addresses:
|
if not addr: continue
|
||||||
|
if addr in self.wallet.frozen_addresses and not freeze:
|
||||||
self.wallet.unfreeze(addr)
|
self.wallet.unfreeze(addr)
|
||||||
else:
|
elif addr not in self.wallet.frozen_addresses and freeze:
|
||||||
self.wallet.freeze(addr)
|
self.wallet.freeze(addr)
|
||||||
self.update_receive_tab()
|
self.update_receive_tab()
|
||||||
|
|
||||||
def toggle_priority(self,addr):
|
def set_addrs_prioritized(self,addrs,prioritize):
|
||||||
if not addr: return
|
for addr in addrs:
|
||||||
if addr in self.wallet.prioritized_addresses:
|
if not addr: continue
|
||||||
|
if addr in self.wallet.prioritized_addresses and not prioritize:
|
||||||
self.wallet.unprioritize(addr)
|
self.wallet.unprioritize(addr)
|
||||||
else:
|
elif addr not in self.wallet.prioritized_addresses and prioritize:
|
||||||
self.wallet.prioritize(addr)
|
self.wallet.prioritize(addr)
|
||||||
self.update_receive_tab()
|
self.update_receive_tab()
|
||||||
|
|
||||||
|
@ -1136,10 +1138,14 @@ class ElectrumWindow(QMainWindow):
|
||||||
# if it is not called the menu pops up several times
|
# if it is not called the menu pops up several times
|
||||||
#self.receive_list.selectedIndexes()
|
#self.receive_list.selectedIndexes()
|
||||||
|
|
||||||
|
selected = self.receive_list.selectedItems()
|
||||||
|
multi_select = len(selected) > 1
|
||||||
|
addrs = [unicode(item.text(0)) for item in selected]
|
||||||
|
if not multi_select:
|
||||||
item = self.receive_list.itemAt(position)
|
item = self.receive_list.itemAt(position)
|
||||||
if not item: return
|
if not item: return
|
||||||
|
|
||||||
addr = unicode(item.text(0))
|
addr = addrs[0]
|
||||||
if not is_valid(addr):
|
if not is_valid(addr):
|
||||||
k = str(item.data(0,32).toString())
|
k = str(item.data(0,32).toString())
|
||||||
if k:
|
if k:
|
||||||
|
@ -1149,6 +1155,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
return
|
return
|
||||||
|
|
||||||
menu = QMenu()
|
menu = QMenu()
|
||||||
|
if not multi_select:
|
||||||
menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr))
|
menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr))
|
||||||
menu.addAction(_("QR code"), lambda: self.show_qrcode("bitcoin:" + addr, _("Address")) )
|
menu.addAction(_("QR code"), lambda: self.show_qrcode("bitcoin:" + addr, _("Address")) )
|
||||||
menu.addAction(_("Edit label"), lambda: self.edit_label(True))
|
menu.addAction(_("Edit label"), lambda: self.edit_label(True))
|
||||||
|
@ -1158,10 +1165,16 @@ class ElectrumWindow(QMainWindow):
|
||||||
if addr in self.wallet.imported_keys:
|
if addr in self.wallet.imported_keys:
|
||||||
menu.addAction(_("Remove from wallet"), lambda: self.delete_imported_key(addr))
|
menu.addAction(_("Remove from wallet"), lambda: self.delete_imported_key(addr))
|
||||||
|
|
||||||
t = _("Unfreeze") if addr in self.wallet.frozen_addresses else _("Freeze")
|
if any(addr not in self.wallet.frozen_addresses for addr in addrs):
|
||||||
menu.addAction(t, lambda: self.toggle_freeze(addr))
|
menu.addAction(_("Freeze"), lambda: self.set_addrs_frozen(addrs, True))
|
||||||
t = _("Unprioritize") if addr in self.wallet.prioritized_addresses else _("Prioritize")
|
if any(addr in self.wallet.frozen_addresses for addr in addrs):
|
||||||
menu.addAction(t, lambda: self.toggle_priority(addr))
|
menu.addAction(_("Unfreeze"), lambda: self.set_addrs_frozen(addrs, False))
|
||||||
|
if any(addr not in self.wallet.prioritized_addresses for addr in addrs):
|
||||||
|
menu.addAction(_("Prioritize"),
|
||||||
|
lambda: self.set_addrs_prioritized(addrs, True))
|
||||||
|
if any(addr in self.wallet.prioritized_addresses for addr in addrs):
|
||||||
|
menu.addAction(_("Unprioritize"),
|
||||||
|
lambda: self.set_addrs_prioritized(addrs, False))
|
||||||
|
|
||||||
total = 0
|
total = 0
|
||||||
for item in self.receive_list.selectedItems():
|
for item in self.receive_list.selectedItems():
|
||||||
|
|
Loading…
Reference in New Issue