electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

qr_scanner.py (1208B)


      1 from kivy.app import App
      2 from kivy.factory import Factory
      3 from kivy.lang import Builder
      4 
      5 Factory.register('QRScanner', module='electrum.gui.kivy.qr_scanner')
      6 
      7 class QrScannerDialog(Factory.AnimatedPopup):
      8 
      9     __events__ = ('on_complete', )
     10 
     11     def on_symbols(self, instance, value):
     12         instance.stop()
     13         self.dismiss()
     14         data = value[0].data
     15         self.dispatch('on_complete', data)
     16 
     17     def on_complete(self, x):
     18         ''' Default Handler for on_complete event.
     19         '''
     20         print(x)
     21 
     22 
     23 Builder.load_string('''
     24 #:import KIVY_GUI_PATH electrum.gui.kivy.KIVY_GUI_PATH
     25 
     26 <QrScannerDialog>
     27     title:
     28         _(\
     29         '[size=18dp]Hold your QRCode up to the camera[/size][size=7dp]\\n[/size]')
     30     title_size: '24sp'
     31     border: 7, 7, 7, 7
     32     size_hint: None, None
     33     size: '340dp', '290dp'
     34     pos_hint: {'center_y': .53}
     35     #separator_color: .89, .89, .89, 1
     36     #separator_height: '1.2dp'
     37     #title_color: .437, .437, .437, 1
     38     #background: f'atlas://{KIVY_GUI_PATH}/theming/light/dialog'
     39     on_activate:
     40         qrscr.start()
     41         qrscr.size = self.size
     42     on_deactivate: qrscr.stop()
     43     QRScanner:
     44         id: qrscr
     45         on_symbols: root.on_symbols(*args)
     46 ''')