import icons_rc
-from electrum.wallet import format_satoshis
+from electrum.util import format_satoshis
from electrum import Transaction
from electrum import mnemonic
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
for i,width in enumerate(self.column_widths['history']):
l.setColumnWidth(i, width)
l.setHeaderLabels( [ '', _('Date'), _('Description') , _('Amount'), _('Balance')] )
- self.connect(l, SIGNAL('itemDoubleClicked(QTreeWidgetItem*, int)'), self.tx_label_clicked)
- self.connect(l, SIGNAL('itemChanged(QTreeWidgetItem*, int)'), self.tx_label_changed)
-
+ l.itemDoubleClicked.connect(self.tx_label_clicked)
+ l.itemChanged.connect(self.tx_label_changed)
l.customContextMenuRequested.connect(self.create_history_menu)
return l
def edit_label(self, is_recv):
- l = self.receive_list if is_recv else self.contacts_list
+ l = self.address_list if is_recv else self.contacts_list
item = l.currentItem()
item.setFlags(Qt.ItemIsEditable|Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
l.editItem( item, 1 )
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)
for address, v in self.receive_requests.items():
amount, message = v
item = QTreeWidgetItem( [ address, message, self.format_amount(amount) if amount else ""] )
+ item.setFont(0, QFont(MONOSPACE_FONT))
self.receive_list.addTopLevelItem(item)
fee = self.wallet.estimated_fee(inputs, 1)
amount = total - fee
self.amount_e.setAmount(amount)
+ self.amount_e.textEdited.emit("")
self.fee_e.setAmount(fee)
return
def sign_thread():
time.sleep(0.1)
keypairs = {}
- self.wallet.add_keypairs_from_wallet(tx, keypairs, password)
+ self.wallet.add_keypairs(tx, keypairs, password)
self.wallet.sign_transaction(tx, keypairs, password)
return tx, fee, label
l.setContextMenuPolicy(Qt.CustomContextMenu)
l.customContextMenuRequested.connect(self.create_receive_menu)
l.setSelectionMode(QAbstractItemView.ExtendedSelection)
- self.connect(l, SIGNAL('itemDoubleClicked(QTreeWidgetItem*, int)'), lambda a, b: self.address_label_clicked(a,b,l,0,1))
- self.connect(l, SIGNAL('itemChanged(QTreeWidgetItem*, int)'), lambda a,b: self.address_label_changed(a,b,l,0,1))
- self.connect(l, SIGNAL('currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)'), lambda a,b: self.current_item_changed(a))
+ l.itemDoubleClicked.connect(lambda a, b: self.address_label_clicked(a,b,l,0,1))
+ l.itemChanged.connect(lambda a,b: self.address_label_changed(a,b,l,0,1))
+ l.currentItemChanged.connect(lambda a,b: self.current_item_changed(a))
self.address_list = l
return w
l.customContextMenuRequested.connect(self.create_contact_menu)
for i,width in enumerate(self.column_widths['contacts']):
l.setColumnWidth(i, width)
- self.connect(l, SIGNAL('itemDoubleClicked(QTreeWidgetItem*, int)'), lambda a, b: self.address_label_clicked(a,b,l,0,1))
- self.connect(l, SIGNAL('itemChanged(QTreeWidgetItem*, int)'), lambda a,b: self.address_label_changed(a,b,l,0,1))
+ l.itemDoubleClicked.connect(lambda a, b: self.address_label_clicked(a,b,l,0,1))
+ l.itemChanged.connect(lambda a,b: self.address_label_changed(a,b,l,0,1))
self.contacts_list = l
return w
def create_invoices_tab(self):
l, w = self.create_list_tab([_('Requestor'), _('Memo'),_('Amount'), _('Status')])
+ l.setColumnWidth(0, 150)
h = l.header()
h.setStretchLastSection(False)
h.setResizeMode(1, QHeaderView.Stretch)
def show_qrcode(self, data, title = _("QR code")):
if not data:
return
- print_error("qrcode:", data)
d = QRDialog(data, self, title)
d.exec_()
"json or raw hexadecimal"
try:
txt.decode('hex')
- tx = Transaction(txt)
- return tx
- except Exception:
- pass
+ is_hex = True
+ except:
+ is_hex = False
+
+ if is_hex:
+ try:
+ return Transaction(txt)
+ except:
+ traceback.print_exc(file=sys.stdout)
+ QMessageBox.critical(None, _("Unable to parse transaction"), _("Electrum was unable to parse your transaction"))
+ return
try:
tx_dict = json.loads(str(txt))
assert "hex" in tx_dict.keys()
tx = Transaction(tx_dict["hex"])
- if tx_dict.has_key("input_info"):
- input_info = json.loads(tx_dict['input_info'])
- tx.add_input_info(input_info)
+ #if tx_dict.has_key("input_info"):
+ # input_info = json.loads(tx_dict['input_info'])
+ # tx.add_input_info(input_info)
return tx
except Exception:
traceback.print_exc(file=sys.stdout)
- pass
-
- QMessageBox.critical(None, _("Unable to parse transaction"), _("Electrum was unable to parse your transaction"))
+ QMessageBox.critical(None, _("Unable to parse transaction"), _("Electrum was unable to parse your transaction"))
@protected
- def sign_raw_transaction(self, tx, input_info, password):
+ def sign_raw_transaction(self, tx, password):
try:
- self.wallet.signrawtransaction(tx, input_info, [], password)
+ self.wallet.signrawtransaction(tx, [], password)
except Exception as e:
+ traceback.print_exc(file=sys.stdout)
QMessageBox.warning(self, _("Error"), str(e))
def do_process_from_text(self):