#:import Decimal decimal.Decimal opacity: 0 padding: '12dp', '12dp', '12dp', '12dp' spacing: '12dp' mode: 'qr' orientation: 'vertical' on_parent: if args[1]:\ first_address = app.wallet.addresses()[0];\ qr.data = app.encode_uri(first_address,\ amount=amount_e.text,\ label=app.wallet.labels.get(first_address, first_address),\ message='') if app.wallet.addresses() else '' SendReceiveToggle SendToggle: id: toggle_qr text: 'QR' state: 'down' if root.mode == 'qr' else 'normal' source: 'atlas://gui/kivy/theming/light/qrcode' background_down: 'atlas://gui/kivy/theming/light/btn_send_address' on_release: if root.mode == 'qr': root.mode = 'nr' root.mode = 'qr' SendToggle: id: toggle_nfc text: 'NFC' state: 'down' if root.mode == 'nfc' else 'normal' source: 'atlas://gui/kivy/theming/light/nfc' background_down: 'atlas://gui/kivy/theming/light/btn_send_nfc' on_release: if root.mode == 'nfc': root.mode = 'nr' root.mode = 'nfc' GridLayout: id: grid cols: 1 #size_hint: 1, None #height: self.minimum_height SendReceiveCardTop height: '110dp' BoxLayout: size_hint: 1, None height: '42dp' rows: 1 Label: color: amount_e.foreground_color bold: True text_size: self.size valign: 'bottom' font_size: '22sp' text: u'[font={fnt}]{smbl}[/font]'.\ format(smbl=btc_symbol if app.base_unit == 'BTC' else mbtc_symbol, fnt=font_light) size_hint_x: .25 ELTextInput: id: amount_e input_type: 'number' multiline: False bold: True font_size: '50sp' foreground_color: .308, .308, .308, 1 background_normal: 'atlas://gui/kivy/theming/light/tab_btn' pos_hint: {'top': 1.5} size_hint: .7, None height: '67dp' hint_text: 'Amount' text: '0.0' CardSeparator BoxLayout: size_hint: 1, None height: '32dp' spacing: '5dp' Label: color: lbl_quote.color font_size: '12dp' text: 'Ask to scan the QR below' text_size: self.size halign: 'left' valign: 'middle' Label: id: lbl_quote font_size: '12dp' size_hint: .5, 1 color: .761, .761, .761, 1 text: u'= {}'.format(app.create_quote_text(Decimal(float(amount_e.text)), mode='symbol')) if amount_e.text else u'0' text_size: self.size halign: 'right' valign: 'middle' SendReceiveBlueBottom id: blue_bottom padding: '12dp', 0, '12dp', '12dp' WalletSelector: id: wallet_selection foreground_color: blue_bottom.foreground_color size_hint: 1, None height: blue_bottom.item_height CardSeparator opacity: wallet_selection.opacity color: blue_bottom.foreground_color AddressSelector: id: address_selection foreground_color: blue_bottom.foreground_color opacity: 1 if app.expert_mode else 0 size_hint: 1, None height: blue_bottom.item_height if app.expert_mode else 0 on_text: if not args[1].startswith('Select'):\ qr.data = app.encode_uri(args[1],\ amount=amount_e.text,\ label=app.wallet.labels.get(args[1], args[1]),\ message='') CardSeparator opacity: address_selection.opacity color: blue_bottom.foreground_color Widget: size_hint_y: None height: dp(10) FloatLayout id: bl QRCodeWidget: id: qr size_hint: None, 1 width: min(self.height, bl.width) pos_hint: {'center': (.5, .5)} on_touch_down: if self.collide_point(*args[1].pos):\ app.show_info_bubble(icon=self.ids.qrimage.texture, text='texture') CreateAccountButtonGreen: background_color: (1, 1, 1, 1) if self.disabled else ((.258, .80, .388, 1) if self.state == 'normal' else (.203, .490, .741, 1)) text: _('Goto next step') if app.wallet.seed else _('Create unsigned transaction') size_hint_y: None height: '38dp' disabled: True if wallet_selection.opacity == 0 else False on_release: message = 'sending {} {} to {}'.format(\ app.base_unit, amount_e.text, payto_e.text) app.gui.main_gui.do_send(self, message=message)