self.update_buttons_on_seed()
self.update_console()
+ self.clear_receive_tab()
+ self.update_receive_tab()
run_hook('load_wallet', wallet)
grid.addWidget(self.receive_amount_e, 2, 1, 1, 2)
self.receive_amount_e.textChanged.connect(self.update_receive_qr)
- save_button = QPushButton(_('Save'))
- save_button.clicked.connect(self.save_payment_request)
- grid.addWidget(save_button, 3, 1)
- clear_button = QPushButton(_('Clear'))
+ self.save_request_button = QPushButton(_('Save'))
+ self.save_request_button.clicked.connect(self.save_payment_request)
+ grid.addWidget(self.save_request_button, 3, 1)
+ clear_button = QPushButton(_('New'))
clear_button.clicked.connect(self.clear_receive_tab)
grid.addWidget(clear_button, 3, 2)
grid.setRowStretch(4, 1)
self.receive_qr = QRCodeWidget()
grid.addWidget(self.receive_qr, 0, 4, 5, 2)
- self.receive_requests_label = QLabel(_('Pending requests'))
+ self.receive_requests_label = QLabel(_('Saved Requests'))
self.receive_list = MyTreeWidget(self)
self.receive_list.customContextMenuRequested.connect(self.receive_list_menu)
+ self.receive_list.currentItemChanged.connect(self.receive_item_changed)
+ self.receive_list.itemClicked.connect(self.receive_item_changed)
self.receive_list.setHeaderLabels( [_('Address'), _('Message'), _('Amount'), _('Status')] )
+ self.receive_list.setColumnWidth(0, 320)
+ h = self.receive_list.header()
+ h.setStretchLastSection(False)
+ h.setResizeMode(1, QHeaderView.Stretch)
+
grid.addWidget(self.receive_requests_label, 5, 0)
grid.addWidget(self.receive_list, 6, 0, 1, 6)
grid.setRowStretch(7, 1)
return w
+ def receive_item_changed(self, item):
+ if item is None:
+ return
+ addr = str(item.text(0))
+ amount, message = self.receive_requests[addr]
+ self.receive_address_e.setText(addr)
+ self.receive_message_e.setText(message)
+ self.receive_amount_e.setAmount(amount)
+
+
def receive_list_delete(self, item):
addr = str(item.text(0))
self.receive_requests.pop(addr)
self.update_receive_tab()
- self.redraw_from_list()
+ self.clear_receive_tab()
def receive_list_menu(self, position):
item = self.receive_list.itemAt(position)
self.update_receive_tab()
def clear_receive_tab(self):
- self.receive_amount_e.setAmount(None)
- self.receive_message_e.setText("")
-
- def receive_at(self, addr):
- if not bitcoin.is_address(addr):
- return
- self.tabs.setCurrentIndex(2)
- self.receive_address_e.setText(addr)
-
- def update_receive_tab(self):
self.receive_requests = self.wallet.storage.get('receive_requests',{})
-
domain = self.wallet.get_account_addresses(self.current_account, include_change=False)
for addr in domain:
if not self.wallet.address_is_old(addr) and addr not in self.receive_requests.keys():
break
else:
addr = ""
-
self.receive_address_e.setText(addr)
- self.receive_message_e.setText("")
+ self.receive_message_e.setText('')
self.receive_amount_e.setAmount(None)
+ def receive_at(self, addr):
+ if not bitcoin.is_address(addr):
+ return
+ self.tabs.setCurrentIndex(2)
+ self.receive_address_e.setText(addr)
+
+ def update_receive_tab(self):
+ self.receive_requests = self.wallet.storage.get('receive_requests',{})
b = len(self.receive_requests) > 0
self.receive_list.setVisible(b)
self.receive_requests_label.setVisible(b)
def update_receive_qr(self):
import urlparse, urllib
addr = str(self.receive_address_e.text())
+ amount = self.receive_amount_e.get_amount()
+ message = unicode(self.receive_message_e.text()).encode('utf8')
+ self.save_request_button.setEnabled((amount is not None) or (message != ""))
if addr:
query = []
- amount = self.receive_amount_e.get_amount()
if amount:
query.append('amount=%s'%format_satoshis(amount))
- message = unicode(self.receive_message_e.text()).encode('utf8')
if message:
query.append('message=%s'%urllib.quote(message))
p = urlparse.ParseResult(scheme='bitcoin', netloc='', path=addr, params='', query='&'.join(query), fragment='')