edit column directly
This commit is contained in:
parent
522d4d7f91
commit
74a8a5f77a
|
@ -451,6 +451,12 @@ class ElectrumWindow(QMainWindow):
|
||||||
l.editItem( item, c )
|
l.editItem( item, c )
|
||||||
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||||
|
|
||||||
|
def edit_amount(self):
|
||||||
|
l = self.receive_list
|
||||||
|
item = l.currentItem()
|
||||||
|
item.setFlags(Qt.ItemIsEditable|Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||||
|
l.editItem( item, 3 )
|
||||||
|
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
|
||||||
|
|
||||||
|
|
||||||
def address_label_clicked(self, item, column, l, column_addr, column_label):
|
def address_label_clicked(self, item, column, l, column_addr, column_label):
|
||||||
|
@ -493,6 +499,35 @@ class ElectrumWindow(QMainWindow):
|
||||||
|
|
||||||
self.recv_changed(item)
|
self.recv_changed(item)
|
||||||
|
|
||||||
|
if column == 3:
|
||||||
|
address = unicode( item.text(column_addr) )
|
||||||
|
text = unicode( item.text(3) )
|
||||||
|
try:
|
||||||
|
index = self.wallet.addresses.index(address)
|
||||||
|
except:
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
amount = int( Decimal( unicode(text)) * 100000000 )
|
||||||
|
item.setText(3,format_satoshis(amount,False, self.wallet.num_zeros))
|
||||||
|
except:
|
||||||
|
amount = self.wallet.requested_amounts.get(address)
|
||||||
|
if amount:
|
||||||
|
item.setText(3,format_satoshis(amount,False, self.wallet.num_zeros))
|
||||||
|
else:
|
||||||
|
item.setText(3,"")
|
||||||
|
return
|
||||||
|
|
||||||
|
self.wallet.requested_amounts[address] = amount
|
||||||
|
|
||||||
|
label = self.wallet.labels.get(address)
|
||||||
|
if not label:
|
||||||
|
label = 'invoice %04d'%(index+1)
|
||||||
|
|
||||||
|
self.update_receive_item(self.receive_list.currentItem())
|
||||||
|
if self.qr_window:
|
||||||
|
self.qr_window.set_content( address, label, amount )
|
||||||
|
|
||||||
|
|
||||||
def recv_changed(self, a):
|
def recv_changed(self, a):
|
||||||
"current item changed"
|
"current item changed"
|
||||||
|
@ -831,59 +866,6 @@ class ElectrumWindow(QMainWindow):
|
||||||
self.show_message(_("QR code saved to file") + " " + self.qr_window.filename)
|
self.show_message(_("QR code saved to file") + " " + self.qr_window.filename)
|
||||||
|
|
||||||
|
|
||||||
def request_amount_dialog(self, address):
|
|
||||||
# pick the first unused address
|
|
||||||
# print "please wait" in qr window
|
|
||||||
# enter amount in usd
|
|
||||||
|
|
||||||
d = QDialog()
|
|
||||||
d.setWindowTitle('Request payment')
|
|
||||||
d.setModal(1)
|
|
||||||
|
|
||||||
vbox = QVBoxLayout()
|
|
||||||
vbox.addWidget(QLabel(address))
|
|
||||||
|
|
||||||
grid = QGridLayout()
|
|
||||||
grid.setSpacing(8)
|
|
||||||
vbox.addLayout(grid)
|
|
||||||
|
|
||||||
try:
|
|
||||||
index = self.wallet.addresses.index(address)
|
|
||||||
except:
|
|
||||||
return
|
|
||||||
|
|
||||||
label = self.wallet.labels.get(address,'invoice %04d'%(index+1))
|
|
||||||
grid.addWidget(QLabel(_('Label')), 0, 0)
|
|
||||||
label_e = QLineEdit()
|
|
||||||
label_e.setText(label)
|
|
||||||
grid.addWidget(label_e, 0, 1)
|
|
||||||
|
|
||||||
amount_e = QLineEdit()
|
|
||||||
amount_e.textChanged.connect(lambda: numbify(amount_e))
|
|
||||||
|
|
||||||
grid.addWidget(QLabel(_('Amount')), 1, 0)
|
|
||||||
grid.addWidget(amount_e, 1, 1, 1, 3)
|
|
||||||
|
|
||||||
vbox.addLayout(ok_cancel_buttons(d))
|
|
||||||
d.setLayout(vbox)
|
|
||||||
|
|
||||||
amount_e.setFocus()
|
|
||||||
if not d.exec_(): return
|
|
||||||
try:
|
|
||||||
amount = int( Decimal( unicode( amount_e.text())) * 100000000 )
|
|
||||||
except:
|
|
||||||
return
|
|
||||||
self.wallet.requested_amounts[address] = amount
|
|
||||||
|
|
||||||
label = unicode(label_e.text())
|
|
||||||
if label:
|
|
||||||
self.wallet.labels[address] = label
|
|
||||||
|
|
||||||
self.update_receive_item(self.receive_list.currentItem())
|
|
||||||
if self.qr_window:
|
|
||||||
self.qr_window.set_content( address, label, amount )
|
|
||||||
|
|
||||||
|
|
||||||
def details_button_text(self):
|
def details_button_text(self):
|
||||||
return _('Hide details') if self.detailed_view else _('Show details')
|
return _('Hide details') if self.detailed_view else _('Show details')
|
||||||
|
|
||||||
|
@ -925,7 +907,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
menu = QMenu()
|
menu = QMenu()
|
||||||
menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr))
|
menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr))
|
||||||
if self.qr_window and self.qr_window.isVisible():
|
if self.qr_window and self.qr_window.isVisible():
|
||||||
menu.addAction(_("Request amount"), lambda: self.request_amount_dialog(addr))
|
menu.addAction(_("Request amount"), lambda: self.edit_amount())
|
||||||
menu.addAction(_("Edit label"), lambda: self.edit_label(True))
|
menu.addAction(_("Edit label"), lambda: self.edit_label(True))
|
||||||
menu.addAction(_("Sign message"), lambda: self.sign_message(addr))
|
menu.addAction(_("Sign message"), lambda: self.sign_message(addr))
|
||||||
|
|
||||||
|
@ -994,7 +976,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
item.setData(2,0,label)
|
item.setData(2,0,label)
|
||||||
|
|
||||||
amount = self.wallet.requested_amounts.get(address,None)
|
amount = self.wallet.requested_amounts.get(address,None)
|
||||||
amount_str = format_satoshis( amount, False, self.wallet.num_zeros ) if amount is not None else "--"
|
amount_str = format_satoshis( amount, False, self.wallet.num_zeros ) if amount is not None else ""
|
||||||
item.setData(3,0,amount_str)
|
item.setData(3,0,amount_str)
|
||||||
|
|
||||||
c, u = self.wallet.get_addr_balance(address)
|
c, u = self.wallet.get_addr_balance(address)
|
||||||
|
|
Loading…
Reference in New Issue