def tvSellDoubleClicked(self): selected = self.tvSell.selectedIndexes() if not selected: return index = self.proxyModelSell.index(selected[0].row(), 3) oid = str(self.proxyModelSell.data(index).toString()) if oid in wallet.p2p_agent.their_offers: offer = wallet.p2p_agent.their_offers[oid] moniker = str(self.cbMoniker.currentText()) asset = wallet.get_asset_definition(moniker) if wallet.get_balance(asset) < offer.get_data()['A']['value']: QtGui.QMessageBox.warning(self, '', "Not enough money...", QtGui.QMessageBox.Cancel) return message = "Buy <b>{value}</b> {moniker} for <b>{course}</b> \ bitcoin (Total: <b>{total}</b> bitcoin)".format( **{ 'value': self.proxyModelSell.data(selected[1]).toString(), 'moniker': moniker, 'course': self.proxyModelSell.data(selected[0]).toString(), 'total': self.proxyModelSell.data(selected[2]).toString(), }) retval = QtGui.QMessageBox.question( self, "Confirm buy coins", message, QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Cancel) if retval != QtGui.QMessageBox.Yes: return new_offer = wallet.p2ptrade_make_mirror_offer(offer) wallet.p2p_agent.register_my_offer(new_offer) else: offer = wallet.p2p_agent.my_offers[oid] wallet.p2p_agent.cancel_my_offer(offer) self.update_offers()
def cbMonikerIndexChanged(self): moniker = str(self.cbMoniker.currentText()) if moniker == '': return asset = wallet.get_asset_definition('bitcoin') value = asset.format_value(wallet.get_balance(asset)) text = '<b>Buy</b> {0} (Available: {1} bitcoin)'.format(moniker, value) self.lblBuy.setText(text) asset = wallet.get_asset_definition(moniker) value = asset.format_value(wallet.get_balance(asset)) text = '<b>Sell</b> {0} (Available: {1} {0})'.format(moniker, value) self.lblSell.setText(text) self.update_offers()
def btnSellClicked(self): valid = True if not self.edtSellQuantity.text().toDouble()[1]: self.edtSellQuantity.setStyleSheet('background:#FF8080') valid = False if not self.edtSellPrice.text().toDouble()[1]: self.edtSellPrice.setStyleSheet('background:#FF8080') valid = False if not valid: return moniker = str(self.cbMoniker.currentText()) asset = wallet.get_asset_definition(moniker) value = self.edtSellQuantity.text().toDouble()[0] bitcoin = wallet.get_asset_definition('bitcoin') price = self.edtSellPrice.text().toDouble()[0] delta = wallet.get_balance(asset) - asset.parse_value(value) if delta < 0: message = 'The transaction amount exceeds the balance by %s %s' % \ (asset.format_value(-delta), moniker) QtGui.QMessageBox.critical(self, '', message, QtGui.QMessageBox.Ok) return offer = wallet.p2ptrade_make_offer(True, { 'moniker': moniker, 'value': value, 'price': price, }) wallet.p2p_agent.register_my_offer(offer) self.update_offers() self.edtSellQuantity.setText('') self.edtSellPrice.setText('')
def btnSellClicked(self): valid = True if not self.edtSellQuantity.text().toDouble()[1]: self.edtSellQuantity.setStyleSheet('background:#FF8080') valid = False if not self.edtSellPrice.text().toDouble()[1]: self.edtSellPrice.setStyleSheet('background:#FF8080') valid = False if not valid: return moniker = str(self.cbMoniker.currentText()) asset = wallet.get_asset_definition(moniker) value = self.edtSellQuantity.text().toDouble()[0] bitcoin = wallet.get_asset_definition('bitcoin') price = self.edtSellPrice.text().toDouble()[0] delta = wallet.get_balance(asset) - asset.parse_value(value) if delta < 0: message = 'The transaction amount exceeds the balance by %s %s' % \ (asset.format_value(-delta), moniker) QtGui.QMessageBox.critical( self, '', message, QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok) return offer = wallet.p2ptrade_make_offer(True, { 'moniker': moniker, 'value': value, 'price': price, }) wallet.p2p_agent.register_my_offer(offer) self.update_offers() self.edtSellQuantity.setText('') self.edtSellPrice.setText('')
def tvSellDoubleClicked(self): selected = self.tvSell.selectedIndexes() if not selected: return index = self.proxyModelSell.index(selected[0].row(), 3) oid = str(self.proxyModelSell.data(index).toString()) if oid in wallet.p2p_agent.their_offers: offer = wallet.p2p_agent.their_offers[oid] moniker = str(self.cbMoniker.currentText()) asset = wallet.get_asset_definition(moniker) if wallet.get_balance(asset) < offer.get_data()['A']['value']: QtGui.QMessageBox.warning(self, '', "Not enough money...", QtGui.QMessageBox.Cancel) return message = "Sell <b>{value}</b> {moniker} for <b>{course}</b> \ bitcoin (Total: <b>{total}</b> bitcoin)".format(**{ 'value': self.proxyModelSell.data(selected[1]).toString(), 'moniker': moniker, 'course': self.proxyModelSell.data(selected[0]).toString(), 'total': self.proxyModelSell.data(selected[2]).toString(), }) retval = QtGui.QMessageBox.question( self, "Confirm sell coins", message, QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Cancel) if retval != QtGui.QMessageBox.Yes: return new_offer = wallet.p2ptrade_make_mirror_offer(offer) wallet.p2p_agent.register_my_offer(new_offer) else: offer = wallet.p2p_agent.my_offers[oid] wallet.p2p_agent.cancel_my_offer(offer) self.update_offers()
def updateAvailableBalance(self): moniker = str(self.cbMoniker.currentText()) if moniker: asset = wallet.get_asset_definition(moniker) balance = wallet.get_balance(moniker) self.edtAmount.setMaximum(balance) self.lblAvailaleBalance.setText( '%s %s' % (asset.format_value(balance), moniker))
def updateWallet(self): moniker = str(self.cb_monikers.currentText()) if moniker == '': return asset = wallet.get_asset_definition(moniker) balance = wallet.get_balance(asset) self.lbl_balance.setText( '%s %s' % (asset.format_value(balance), moniker)) wam = wallet.model.get_address_manager() addr = wam.get_some_address(asset.get_color_set()).get_address() self.lbl_address.setText(addr)
def update(self): allowTextSelection = ( QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse) self.scrollAreaContents = QtGui.QWidget() self.scrollArea.setWidget(self.scrollAreaContents) self.scrollAreaLayout = QtGui.QVBoxLayout(self.scrollAreaContents) hbox = QtGui.QHBoxLayout() hbox.addItem(QtGui.QSpacerItem(20, 0)) hbox.setStretch(0, 1) updateButton = QtGui.QPushButton('Update', self.scrollAreaContents) updateButton.clicked.connect(self.updateButtonClicked) hbox.addWidget(updateButton) self.scrollAreaLayout.addLayout(hbox) for moniker in wallet.get_all_monikers(): asset = wallet.get_asset_definition(moniker) address = wallet.get_some_address(asset) balance = wallet.get_balance(asset) groupBox = QtGui.QGroupBox(moniker, self.scrollAreaContents) layout = QtGui.QFormLayout(groupBox) label = QtGui.QLabel(groupBox) label.setText('Balance:') layout.setWidget(0, QtGui.QFormLayout.LabelRole, label) label = QtGui.QLabel(groupBox) label.setTextInteractionFlags(allowTextSelection) label.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) label.setText(asset.format_value(balance)) layout.setWidget(0, QtGui.QFormLayout.FieldRole, label) label = QtGui.QLabel(groupBox) label.setText('Address:') layout.setWidget(1, QtGui.QFormLayout.LabelRole, label) label = QtGui.QLabel(groupBox) label.setTextInteractionFlags(allowTextSelection) label.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) label.setText(address) layout.setWidget(1, QtGui.QFormLayout.FieldRole, label) self.scrollAreaLayout.addWidget(groupBox) self.scrollAreaLayout.addItem(QtGui.QSpacerItem(20, 0)) self.scrollAreaLayout.setStretch(self.scrollAreaLayout.count()-1, 1)
def update(self): allowTextSelection = (QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse) self.scrollAreaContents = QtGui.QWidget() self.scrollArea.setWidget(self.scrollAreaContents) self.scrollAreaLayout = QtGui.QVBoxLayout(self.scrollAreaContents) hbox = QtGui.QHBoxLayout() hbox.addItem(QtGui.QSpacerItem(20, 0)) hbox.setStretch(0, 1) updateButton = QtGui.QPushButton('Update', self.scrollAreaContents) updateButton.clicked.connect(self.updateButtonClicked) hbox.addWidget(updateButton) self.scrollAreaLayout.addLayout(hbox) for moniker in wallet.get_all_monikers(): asset = wallet.get_asset_definition(moniker) address = wallet.get_some_address(asset) balance = wallet.get_balance(asset) groupBox = QtGui.QGroupBox(moniker, self.scrollAreaContents) layout = QtGui.QFormLayout(groupBox) label = QtGui.QLabel(groupBox) label.setText('Balance:') layout.setWidget(0, QtGui.QFormLayout.LabelRole, label) label = QtGui.QLabel(groupBox) label.setTextInteractionFlags(allowTextSelection) label.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) label.setText(asset.format_value(balance)) layout.setWidget(0, QtGui.QFormLayout.FieldRole, label) label = QtGui.QLabel(groupBox) label.setText('Address:') layout.setWidget(1, QtGui.QFormLayout.LabelRole, label) label = QtGui.QLabel(groupBox) label.setTextInteractionFlags(allowTextSelection) label.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) label.setText(address) layout.setWidget(1, QtGui.QFormLayout.FieldRole, label) self.scrollAreaLayout.addWidget(groupBox) self.scrollAreaLayout.addItem(QtGui.QSpacerItem(20, 0)) self.scrollAreaLayout.setStretch(self.scrollAreaLayout.count() - 1, 1)
def __init__(self, parent): QtGui.QDialog.__init__(self, parent) uic.loadUi(uic.getUiPath('issuedialog.ui'), self) self.cbScheme.addItem('obc') for wname in ['edtMoniker', 'edtUnits', 'edtAtoms']: getattr(self, wname).focusInEvent = \ lambda e, name=wname: getattr(self, name).setStyleSheet('') self.edtUnits.textChanged.connect(self.changeTotalBTC) self.edtAtoms.textChanged.connect(self.changeTotalBTC) self.availableBTC = wallet.get_balance('bitcoin') self.lblTotalBTC.setToolTip('Available: %s bitcoin' % \ wallet.get_asset_definition('bitcoin').format_value(self.availableBTC))
def __init__(self, parent): QtGui.QDialog.__init__(self, parent) uic.loadUi(uic.getUiPath('issuedialog.ui'), self) self.cbScheme.addItem('obc') for wname in ['edtMoniker', 'edtUnits', 'edtAtoms']: def clearBackground(event, wname=wname): getattr(self, wname).setStyleSheet('') QtGui.QLineEdit.focusInEvent(getattr(self, wname), event) getattr(self, wname).focusInEvent = clearBackground self.edtUnits.textChanged.connect(self.changeTotalBTC) self.edtAtoms.textChanged.connect(self.changeTotalBTC) self.availableBTC = wallet.get_balance('bitcoin') self.lblTotalBTC.setToolTip('Available: %s bitcoin' % \ wallet.get_asset_definition('bitcoin').format_value(self.availableBTC))
def __init__(self, parent): QtGui.QDialog.__init__(self, parent) uic.loadUi(uic.getUiPath("issuedialog.ui"), self) self.cbScheme.addItem("obc") for wname in ["edtMoniker", "edtUnits", "edtAtoms"]: def clearBackground(event, wname=wname): getattr(self, wname).setStyleSheet("") QtGui.QLineEdit.focusInEvent(getattr(self, wname), event) getattr(self, wname).focusInEvent = clearBackground self.edtUnits.textChanged.connect(self.changeTotalBTC) self.edtAtoms.textChanged.connect(self.changeTotalBTC) self.availableBTC = wallet.get_balance("bitcoin") self.lblTotalBTC.setToolTip( "Available: %s bitcoin" % wallet.get_asset_definition("bitcoin").format_value(self.availableBTC) )
def btnSendClicked(self): entries = [ self.entries.itemAt(i).widget() for i in xrange(self.entries.count()) ] if not all([entry.isValid() for entry in entries]): return data = [entry.getData() for entry in entries] message = 'Are you sure you want to send' for recipient in data: asset = wallet.get_asset_definition(recipient['moniker']) value = asset.format_value(recipient['value']) message += '<br><b>{value} {moniker}</b> to {address}'.format(**{ 'value': value, 'moniker': 'BTC' if recipient['moniker'] == 'bitcoin' \ else recipient['moniker'], 'address': recipient['address'], }) message += '?' retval = QtGui.QMessageBox.question( self, 'Confirm send coins', message, QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Cancel) if retval != QtGui.QMessageBox.Yes: return # check value exceeds balance currency = collections.defaultdict(float) for recipient in data: currency[recipient['moniker']] += recipient['value'] for moniker, value in currency.items(): if value > wallet.get_balance(moniker): QtGui.QMessageBox.warning( self, 'Send coins', 'The amount for <b>%s</b> exceeds your balance.' % moniker, QtGui.QMessageBox.Ok) return wallet.send_coins(data) self.parent().parent().parent().update()
def btnSendClicked(self): entries = [self.entries.itemAt(i).widget() for i in xrange(self.entries.count())] if not all([entry.isValid() for entry in entries]): return data = [entry.getData() for entry in entries] message = 'Are you sure you want to send' for recipient in data: asset = wallet.get_asset_definition(recipient['moniker']) value = asset.format_value(recipient['value']) message += '<br><b>{value} {moniker}</b> to {address}'.format(**{ 'value': value, 'moniker': 'BTC' if recipient['moniker'] == 'bitcoin' \ else recipient['moniker'], 'address': recipient['address'], }) message += '?' retval = QtGui.QMessageBox.question( self, 'Confirm send coins', message, QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Cancel) if retval != QtGui.QMessageBox.Yes: return # check value exceeds balance currency = collections.defaultdict(float) for recipient in data: currency[recipient['moniker']] += recipient['value'] for moniker, value in currency.items(): if value > wallet.get_balance(moniker): QtGui.QMessageBox.warning( self, 'Send coins', 'The amount for <b>%s</b> exceeds your balance.' % moniker, QtGui.QMessageBox.Ok) return wallet.send_coins(data) self.parent().parent().parent().update()