tsend.kv - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
tsend.kv (5712B)
---
1 #:import _ electrum.gui.kivy.i18n._
2 #:import KIVY_GUI_PATH electrum.gui.kivy.KIVY_GUI_PATH
3 #:import pr_color electrum.invoices.pr_color
4 #:import PR_UNKNOWN electrum.invoices.PR_UNKNOWN
5 #:import Factory kivy.factory.Factory
6 #:import Decimal decimal.Decimal
7 #:set btc_symbol chr(171)
8 #:set mbtc_symbol chr(187)
9 #:set font_light f'{KIVY_GUI_PATH}/data/fonts/Roboto-Condensed.ttf'
10
11 <PaymentLabel@Label>
12 #color: .305, .309, .309, 1
13 text_size: self.width, None
14 halign: 'left'
15 valign: 'top'
16
17 <PaymentItem@CardItem>
18 key: ''
19 address: ''
20 memo: ''
21 amount: ''
22 status: PR_UNKNOWN
23 status_str: ''
24 date: ''
25 BoxLayout:
26 spacing: '8dp'
27 height: '32dp'
28 orientation: 'vertical'
29 Widget
30 PaymentLabel:
31 text: root.memo
32 shorten: True
33 shorten_from: 'right'
34 Widget
35 PaymentLabel:
36 text: root.address
37 color: .699, .699, .699, 1
38 font_size: '13sp'
39 shorten: True
40 Widget
41 BoxLayout:
42 spacing: '8dp'
43 height: '32dp'
44 orientation: 'vertical'
45 Widget
46 PaymentLabel:
47 text: root.amount
48 halign: 'right'
49 font_size: '15sp'
50 Widget
51 PaymentLabel:
52 text: root.status_str
53 halign: 'right'
54 font_size: '13sp'
55 color: pr_color[root.status]
56 Widget
57
58 <PaymentRecycleView>:
59 viewclass: 'PaymentItem'
60 RecycleBoxLayout:
61 default_size: None, dp(56)
62 default_size_hint: 1, None
63 size_hint: 1, None
64 height: self.minimum_height
65 orientation: 'vertical'
66
67 <SendScreen>:
68 id: s
69 name: 'send'
70 address: ''
71 amount: ''
72 message: ''
73 is_bip70: False
74 is_lightning: False
75 is_locked: self.is_lightning or self.is_bip70
76 BoxLayout
77 padding: '12dp', '12dp', '12dp', '12dp'
78 spacing: '12dp'
79 orientation: 'vertical'
80 SendReceiveBlueBottom:
81 id: blue_bottom
82 size_hint: 1, None
83 height: self.minimum_height
84 BoxLayout:
85 size_hint: 1, None
86 height: blue_bottom.item_height
87 spacing: '5dp'
88 Image:
89 source: f'atlas://{KIVY_GUI_PATH}/theming/light/lightning' if root.is_lightning else f'atlas://{KIVY_GUI_PATH}/theming/light/globe'
90 size_hint: None, None
91 size: '22dp', '22dp'
92 pos_hint: {'center_y': .5}
93 BlueButton:
94 id: payto_e
95 text: s.address if s.address else _('Recipient')
96 shorten: True
97 on_release: Clock.schedule_once(lambda dt: app.show_info(_('Copy and paste the recipient address using the Paste button, or use the camera to scan a QR code.')))
98 #on_release: Clock.schedule_once(lambda dt: app.popup_dialog('contacts'))
99 CardSeparator:
100 color: blue_bottom.foreground_color
101 BoxLayout:
102 size_hint: 1, None
103 height: blue_bottom.item_height
104 spacing: '5dp'
105 Image:
106 source: f'atlas://{KIVY_GUI_PATH}/theming/light/calculator'
107 opacity: 0.7
108 size_hint: None, None
109 size: '22dp', '22dp'
110 pos_hint: {'center_y': .5}
111 BlueButton:
112 id: amount_e
113 default_text: _('Amount')
114 text: s.amount if s.amount else _('Amount')
115 disabled: root.is_bip70 or (root.is_lightning and s.amount)
116 on_release: Clock.schedule_once(lambda dt: app.amount_dialog(s, not root.is_lightning))
117 CardSeparator:
118 color: blue_bottom.foreground_color
119 BoxLayout:
120 id: message_selection
121 size_hint: 1, None
122 height: blue_bottom.item_height
123 spacing: '5dp'
124 Image:
125 source: f'atlas://{KIVY_GUI_PATH}/theming/light/pen'
126 size_hint: None, None
127 size: '22dp', '22dp'
128 pos_hint: {'center_y': .5}
129 BlueButton:
130 id: description
131 text: s.message if s.message else (_('No Description') if root.is_locked else _('Description'))
132 disabled: root.is_locked
133 on_release: Clock.schedule_once(lambda dt: app.description_dialog(s))
134 BoxLayout:
135 size_hint: 1, None
136 height: '48dp'
137 IconButton:
138 size_hint: 0.5, 1
139 on_release: s.do_save()
140 icon: f'atlas://{KIVY_GUI_PATH}/theming/light/save'
141 IconButton:
142 size_hint: 0.5, 1
143 on_release: s.do_clear()
144 icon: f'atlas://{KIVY_GUI_PATH}/theming/light/closebutton'
145 IconButton:
146 size_hint: 0.5, 1
147 icon: f'atlas://{KIVY_GUI_PATH}/theming/light/copy'
148 on_release: s.do_paste()
149 Button:
150 id: qr
151 text:_('Scan')
152 size_hint: 1, 1
153 on_release: Clock.schedule_once(lambda dt: app.scan_qr(on_complete=app.on_qr))
154 Button:
155 text: _('Pay')
156 size_hint: 1, 1
157 on_release: s.do_pay()
158 Widget:
159 size_hint: 1, 0.1
160 PaymentRecycleView:
161 id: payments_container
162 scroll_type: ['bars', 'content']
163 bar_width: '25dp'