class ScanFingerprintPage(Gtk.HBox): def __init__(self): super(ScanFingerprintPage, self).__init__() self.set_spacing(10) # set up labels leftLabel = Gtk.Label() leftLabel.set_markup('Type fingerprint') rightLabel = Gtk.Label() rightLabel.set_markup('... or scan QR code') # set up text editor self.textview = Gtk.TextView() self.textbuffer = self.textview.get_buffer() # set up scrolled window scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.add(self.textview) # set up webcam frame self.scanFrame = Gtk.Frame(label='QR Scanner') self.scanFrame = BarcodeReaderGTK() self.scanFrame.set_size_request(150, 150) self.scanFrame.show() # set up load button: this will be used to load a qr code from a file self.loadButton = Gtk.Button('Open Image') self.loadButton.set_image( Gtk.Image.new_from_icon_name('gtk-open', Gtk.IconSize.BUTTON)) self.loadButton.connect('clicked', self.on_loadbutton_clicked) self.loadButton.set_always_show_image(True) # set up left box leftBox = Gtk.VBox(spacing=10) leftBox.pack_start(leftLabel, False, False, 0) leftBox.pack_start(scrolledwindow, True, True, 0) # set up right box rightBox = Gtk.VBox(spacing=10) rightBox.pack_start(rightLabel, False, False, 0) rightBox.pack_start(self.scanFrame, True, True, 0) rightBox.pack_start(self.loadButton, False, False, 0) # pack up self.pack_start(leftBox, True, True, 0) self.pack_start(rightBox, True, True, 0) def get_text_from_textview(self): '''Returns the contents of the fingerprint input widget. Note that this function does not format or validate anything. ''' start_iter = self.textbuffer.get_start_iter() end_iter = self.textbuffer.get_end_iter() raw_text = self.textbuffer.get_text(start_iter, end_iter, False) return raw_text def on_loadbutton_clicked(self, *args, **kwargs): print("load")
def __init__(self): super(ScanFingerprintPage, self).__init__() self.set_spacing(10) # set up labels leftLabel = Gtk.Label() leftLabel.set_markup('Type fingerprint') rightLabel = Gtk.Label() rightLabel.set_markup('... or scan QR code') # set up text editor self.textview = Gtk.TextView() self.textbuffer = self.textview.get_buffer() # set up scrolled window scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.add(self.textview) # set up webcam frame self.scanFrame = Gtk.Frame(label='QR Scanner') self.scanFrame = BarcodeReaderGTK() self.scanFrame.set_size_request(150, 150) self.scanFrame.show() # set up load button: this will be used to load a qr code from a file self.loadButton = Gtk.Button('Open Image') self.loadButton.set_image( Gtk.Image.new_from_icon_name('gtk-open', Gtk.IconSize.BUTTON)) self.loadButton.connect('clicked', self.on_loadbutton_clicked) self.loadButton.set_always_show_image(True) # set up left box leftBox = Gtk.VBox(spacing=10) leftBox.pack_start(leftLabel, False, False, 0) leftBox.pack_start(scrolledwindow, True, True, 0) # set up right box rightBox = Gtk.VBox(spacing=10) rightBox.pack_start(rightLabel, False, False, 0) rightBox.pack_start(self.scanFrame, True, True, 0) rightBox.pack_start(self.loadButton, False, False, 0) # pack up self.pack_start(leftBox, True, True, 0) self.pack_start(rightBox, True, True, 0)
def __init__(self): super(ScanFingerprintPage, self).__init__() self.set_spacing(10) # set up labels leftLabel = Gtk.Label() leftLabel.set_markup('Type fingerprint') rightLabel = Gtk.Label() rightLabel.set_markup('... or scan QR code') # set up text editor self.textview = Gtk.TextView() self.textbuffer = self.textview.get_buffer() # set up scrolled window scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.add(self.textview) # set up webcam frame self.scanFrame = Gtk.Frame(label='QR Scanner') self.scanFrame = BarcodeReaderGTK() self.scanFrame.set_size_request(150,150) self.scanFrame.show() # set up load button: this will be used to load a qr code from a file self.loadButton = Gtk.Button('Open Image') self.loadButton.set_image(Gtk.Image.new_from_icon_name('gtk-open', Gtk.IconSize.BUTTON)) self.loadButton.connect('clicked', self.on_loadbutton_clicked) self.loadButton.set_always_show_image(True) # set up left box leftBox = Gtk.VBox(spacing=10) leftBox.pack_start(leftLabel, False, False, 0) leftBox.pack_start(scrolledwindow, True, True, 0) # set up right box rightBox = Gtk.VBox(spacing=10) rightBox.pack_start(rightLabel, False, False, 0) rightBox.pack_start(self.scanFrame, True, True, 0) rightBox.pack_start(self.loadButton, False, False, 0) # pack up self.pack_start(leftBox, True, True, 0) self.pack_start(rightBox, True, True, 0)
def on_activate(self, data=None): window = Gtk.ApplicationWindow(type=Gtk.WindowType.TOPLEVEL) window.set_title("WiFi QRCode scanner") scanner = BarcodeReaderGTK() scanner.connect("barcode", self.on_barcode) window.add(scanner) window.show_all() self.add_window(window) data = self.code if data: logging.info('Emitting barcode %r', data) scanner.emit("barcode", data, None)
class ScanFingerprintPage(Gtk.HBox): def __init__(self): super(ScanFingerprintPage, self).__init__() self.set_spacing(10) # set up labels leftLabel = Gtk.Label() leftLabel.set_markup('Type fingerprint') rightLabel = Gtk.Label() rightLabel.set_markup('... or scan QR code') # set up text editor self.textview = Gtk.TextView() self.textbuffer = self.textview.get_buffer() # set up scrolled window scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.add(self.textview) # set up webcam frame self.scanFrame = Gtk.Frame(label='QR Scanner') self.scanFrame = BarcodeReaderGTK() self.scanFrame.set_size_request(150,150) self.scanFrame.show() # set up load button: this will be used to load a qr code from a file self.loadButton = Gtk.Button('Open Image') self.loadButton.set_image(Gtk.Image.new_from_icon_name('gtk-open', Gtk.IconSize.BUTTON)) self.loadButton.connect('clicked', self.on_loadbutton_clicked) self.loadButton.set_always_show_image(True) # set up left box leftBox = Gtk.VBox(spacing=10) leftBox.pack_start(leftLabel, False, False, 0) leftBox.pack_start(scrolledwindow, True, True, 0) # set up right box rightBox = Gtk.VBox(spacing=10) rightBox.pack_start(rightLabel, False, False, 0) rightBox.pack_start(self.scanFrame, True, True, 0) rightBox.pack_start(self.loadButton, False, False, 0) # pack up self.pack_start(leftBox, True, True, 0) self.pack_start(rightBox, True, True, 0) def get_text_from_textview(self): start_iter = self.textbuffer.get_start_iter() end_iter = self.textbuffer.get_end_iter() raw_text = self.textbuffer.get_text(start_iter, end_iter, False) self.textbuffer.delete(start_iter, end_iter) # return raw input from user. It will be checked on higher # level if the there was a fingerprint entered return raw_text def on_loadbutton_clicked(self, *args, **kwargs): print("load")