Trigger State added to handle GPIO and keypress similarly
This commit is contained in:
@@ -262,7 +262,7 @@ class Photobooth:
|
||||
raise RuntimeError('Unknown event received', str(event))
|
||||
|
||||
self._send.send(gui.IdleState())
|
||||
self._lampOn()
|
||||
self.triggerOn()
|
||||
|
||||
|
||||
def gpioTrigger(self):
|
||||
@@ -279,4 +279,4 @@ class Photobooth:
|
||||
def triggerOn(self):
|
||||
|
||||
self._lampOn()
|
||||
self._gpioTrigger = self.trigger
|
||||
self._gpioTrigger = lambda : self._send.send(Gui.TriggerState())
|
||||
|
||||
@@ -63,7 +63,8 @@ class PyQt5Gui(Gui):
|
||||
if event.key() == Qt.Key_Escape:
|
||||
self.showStart()
|
||||
elif event.key() == Qt.Key_Space:
|
||||
self._transport.send('triggered')
|
||||
# self._transport.send('triggered')
|
||||
self.handleState(TriggerState())
|
||||
|
||||
|
||||
def handleKeypressEventNoTrigger(self, event):
|
||||
@@ -79,6 +80,8 @@ class PyQt5Gui(Gui):
|
||||
|
||||
if isinstance(state, IdleState):
|
||||
self.showIdle()
|
||||
elif isinstance(state, TriggerState):
|
||||
self._transport.send('triggered')
|
||||
elif isinstance(state, GreeterState):
|
||||
global cfg
|
||||
self._p.handleKeypressEvent = self.handleKeypressEventNoTrigger
|
||||
|
||||
@@ -115,6 +115,13 @@ class MessageState(GuiState):
|
||||
|
||||
|
||||
|
||||
class TriggerState(GuiState):
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
|
||||
super().__init__(**kwargs)
|
||||
|
||||
|
||||
class GreeterState(GuiState):
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
|
||||
Reference in New Issue
Block a user