Add behavior for "long backspace" press in keyboard
what this actually does must be specified by parent i guess, so far that is in 2 places. if many more would be nice to standardize that a bit more somehow
This commit is contained in:
parent
78e6704639
commit
32fc71691e
|
@ -117,7 +117,8 @@ class WuttaCustomerLookup(WuttaControl):
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
ft.Divider(),
|
ft.Divider(),
|
||||||
WuttaKeyboard(self.config, on_keypress=self.keypress),
|
WuttaKeyboard(self.config, on_keypress=self.keypress,
|
||||||
|
on_long_backspace=self.long_backspace),
|
||||||
ft.Divider(),
|
ft.Divider(),
|
||||||
ft.Row(
|
ft.Row(
|
||||||
[
|
[
|
||||||
|
@ -162,6 +163,11 @@ class WuttaCustomerLookup(WuttaControl):
|
||||||
self.searchbox.focus()
|
self.searchbox.focus()
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
def long_backspace(self):
|
||||||
|
self.searchbox.value = self.searchbox.value[:-10]
|
||||||
|
self.searchbox.focus()
|
||||||
|
self.update()
|
||||||
|
|
||||||
def lookup(self, e=None):
|
def lookup(self, e=None):
|
||||||
entry = self.searchbox.value
|
entry = self.searchbox.value
|
||||||
if not entry:
|
if not entry:
|
||||||
|
|
|
@ -71,7 +71,8 @@ class WuttaFeedback(WuttaControl):
|
||||||
ft.Divider(),
|
ft.Divider(),
|
||||||
self.message,
|
self.message,
|
||||||
ft.Divider(),
|
ft.Divider(),
|
||||||
WuttaKeyboard(self.config, on_keypress=self.keypress),
|
WuttaKeyboard(self.config, on_keypress=self.keypress,
|
||||||
|
on_long_backspace=self.long_backspace),
|
||||||
],
|
],
|
||||||
expand=True,
|
expand=True,
|
||||||
),
|
),
|
||||||
|
@ -121,6 +122,11 @@ class WuttaFeedback(WuttaControl):
|
||||||
self.message.focus()
|
self.message.focus()
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
def long_backspace(self):
|
||||||
|
self.message.value = self.message.value[:-10]
|
||||||
|
self.message.focus()
|
||||||
|
self.update()
|
||||||
|
|
||||||
def cancel(self, e):
|
def cancel(self, e):
|
||||||
self.dlg.open = False
|
self.dlg.open = False
|
||||||
self.page.update()
|
self.page.update()
|
||||||
|
|
|
@ -36,6 +36,7 @@ class WuttaKeyboard(WuttaControl):
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
self.on_keypress = kwargs.pop('on_keypress', None)
|
self.on_keypress = kwargs.pop('on_keypress', None)
|
||||||
|
self.on_long_backspace = kwargs.pop('on_long_backspace', None)
|
||||||
|
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
@ -127,10 +128,16 @@ class WuttaKeyboard(WuttaControl):
|
||||||
if self.shift:
|
if self.shift:
|
||||||
self.update_shift(False)
|
self.update_shift(False)
|
||||||
|
|
||||||
|
def long_backspace(self, e):
|
||||||
|
if self.on_long_backspace:
|
||||||
|
self.on_long_backspace()
|
||||||
|
|
||||||
def build(self):
|
def build(self):
|
||||||
self.keys = {}
|
self.keys = {}
|
||||||
|
|
||||||
def make_key(key, data=None, on_click=self.simple_keypress,
|
def make_key(key, data=None,
|
||||||
|
on_click=self.simple_keypress,
|
||||||
|
on_long_press=None,
|
||||||
width=self.default_button_size,
|
width=self.default_button_size,
|
||||||
bgcolor=None):
|
bgcolor=None):
|
||||||
button = ft.Container(content=ft.Text(key, size=self.default_font_size,
|
button = ft.Container(content=ft.Text(key, size=self.default_font_size,
|
||||||
|
@ -139,6 +146,7 @@ class WuttaKeyboard(WuttaControl):
|
||||||
height=self.default_button_size,
|
height=self.default_button_size,
|
||||||
width=width,
|
width=width,
|
||||||
on_click=on_click,
|
on_click=on_click,
|
||||||
|
on_long_press=on_long_press,
|
||||||
alignment=ft.alignment.center,
|
alignment=ft.alignment.center,
|
||||||
border=ft.border.all(1, 'black'),
|
border=ft.border.all(1, 'black'),
|
||||||
border_radius=ft.border_radius.all(5),
|
border_radius=ft.border_radius.all(5),
|
||||||
|
@ -162,7 +170,8 @@ class WuttaKeyboard(WuttaControl):
|
||||||
self.shift_key.bgcolor = 'blue'
|
self.shift_key.bgcolor = 'blue'
|
||||||
|
|
||||||
rows = [
|
rows = [
|
||||||
[make_key(k) for k in "`1234567890-="] + [make_key('⌫', bgcolor='yellow')],
|
[make_key(k) for k in "`1234567890-="] + [make_key('⌫', bgcolor='yellow',
|
||||||
|
on_long_press=self.long_backspace)],
|
||||||
[make_key(k) for k in "qwertyuiop[]\\"],
|
[make_key(k) for k in "qwertyuiop[]\\"],
|
||||||
[self.caps_key] + [make_key(k) for k in "asdfghjkl;'"] + [make_key('⏎', bgcolor='blue')],
|
[self.caps_key] + [make_key(k) for k in "asdfghjkl;'"] + [make_key('⏎', bgcolor='blue')],
|
||||||
[self.shift_key] + [make_key(k) for k in "zxcvbnm,./"],
|
[self.shift_key] + [make_key(k) for k in "zxcvbnm,./"],
|
||||||
|
|
Loading…
Reference in a new issue