from electrum import util, bitcoin, commands, Interface, Wallet
from electrum import SimpleConfig, Wallet, WalletStorage
-from electrum import bmp, pyqrnative
-
from amountedit import AmountEdit, BTCAmountEdit, MyLineEdit
from network_dialog import NetworkDialog
from qrcodewidget import QRCodeWidget, QRDialog
self.update_wallet()
self.need_update.clear()
- self.receive_qr.update_qr()
run_hook('timer_actions')
def format_amount(self, x, is_diff=False, whitespaces=False):
grid.addWidget(clear_button, 3, 2)
grid.setRowStretch(4, 1)
- self.receive_qr = QRCodeWidget()
+ self.receive_qr = QRCodeWidget(fixedSize=200)
grid.addWidget(self.receive_qr, 0, 4, 5, 2)
+ grid.setRowStretch(5, 1)
+
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)
+ self.receive_list.setHeaderLabels( [_('Address'), _('Message'), _('Amount')] )
+ self.receive_list.setColumnWidth(0, 340)
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)
+ grid.addWidget(self.receive_requests_label, 6, 0)
+ grid.addWidget(self.receive_list, 7, 0, 1, 6)
return w
def receive_item_changed(self, item):
self.receive_list.clear()
for address, v in self.receive_requests.items():
amount, message = v
- item = QTreeWidgetItem( [ address, message, self.format_amount(amount) if amount else "", ""] )
+ item = QTreeWidgetItem( [ address, message, self.format_amount(amount) if amount else ""] )
self.receive_list.addTopLevelItem(item)
url = urlparse.urlunparse(p)
else:
url = ""
- self.receive_qr.set_addr(url)
+ self.receive_qr.setData(url)
+ run_hook('update_receive_qr', addr, amount, message, url)
def create_send_tab(self):
if any(addr in self.wallet.frozen_addresses for addr in addrs):
menu.addAction(_("Unfreeze"), lambda: self.set_addrs_frozen(addrs, False))
- if any(addr not in self.wallet.frozen_addresses for addr in addrs):
+ def can_send(addr):
+ return addr not in self.wallet.frozen_addresses and self.wallet.get_addr_balance(addr) != (0, 0)
+ if any(can_send(addr) for addr in addrs):
menu.addAction(_("Send From"), lambda: self.send_from_addresses(addrs))
run_hook('receive_menu', menu, addrs)
def show_qrcode(self, data, title = _("QR code")):
if not data:
return
+ print_error("qrcode:", data)
d = QRDialog(data, self, title)
d.exec_()
@protected
def sign_raw_transaction(self, tx, input_info, password):
- self.wallet.signrawtransaction(tx, input_info, [], password)
+ try:
+ self.wallet.signrawtransaction(tx, input_info, [], password)
+ except Exception as e:
+ QMessageBox.warning(self, _("Error"), str(e))
def do_process_from_text(self):
text = text_dialog(self, _('Input raw transaction'), _("Transaction:"), _("Load transaction"))