Resolves #53 by removing InternalState.update and moving its still-unused functionality up the stack a bit
This commit is contained in:
parent
616f7a91dc
commit
b763dd9c4b
@ -32,6 +32,9 @@ class Store:
|
|||||||
self.callbacks = []
|
self.callbacks = []
|
||||||
|
|
||||||
def dispatch(self, action):
|
def dispatch(self, action):
|
||||||
|
if self.state.preserve_intermediate_states:
|
||||||
|
self.state._oldstates.append(repr(self.state.to_dict(verbose=True)))
|
||||||
|
|
||||||
if callable(action):
|
if callable(action):
|
||||||
self.logger.debug('Received thunk')
|
self.logger.debug('Received thunk')
|
||||||
action(self.dispatch, self.get_state)
|
action(self.dispatch, self.get_state)
|
||||||
@ -124,15 +127,6 @@ class InternalState:
|
|||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return 'InternalState({})'.format(self.to_dict())
|
return 'InternalState({})'.format(self.to_dict())
|
||||||
|
|
||||||
def update(self, **kwargs):
|
|
||||||
if self.preserve_intermediate_states:
|
|
||||||
self._oldstates.append(repr(self.to_dict(verbose=True)))
|
|
||||||
|
|
||||||
for k, v in kwargs.items():
|
|
||||||
setattr(self, k, v)
|
|
||||||
|
|
||||||
return self
|
|
||||||
|
|
||||||
|
|
||||||
def find_key_in_map(state, row, col):
|
def find_key_in_map(state, row, col):
|
||||||
# Later-added layers have priority. Sift through the layers
|
# Later-added layers have priority. Sift through the layers
|
||||||
@ -178,10 +172,12 @@ def kmk_reducer(state=None, action=None, logger=None):
|
|||||||
if not changed_key:
|
if not changed_key:
|
||||||
continue
|
continue
|
||||||
elif changed_key.code >= FIRST_KMK_INTERNAL_KEYCODE:
|
elif changed_key.code >= FIRST_KMK_INTERNAL_KEYCODE:
|
||||||
state = process_internal_key_event(state,
|
state = process_internal_key_event(
|
||||||
|
state,
|
||||||
KEY_UP_EVENT,
|
KEY_UP_EVENT,
|
||||||
changed_key,
|
changed_key,
|
||||||
logger=logger)
|
logger=logger,
|
||||||
|
)
|
||||||
|
|
||||||
for changed_key in pressed:
|
for changed_key in pressed:
|
||||||
if not changed_key:
|
if not changed_key:
|
||||||
@ -213,12 +209,11 @@ def kmk_reducer(state=None, action=None, logger=None):
|
|||||||
return state
|
return state
|
||||||
|
|
||||||
if action.type == INIT_FIRMWARE_EVENT:
|
if action.type == INIT_FIRMWARE_EVENT:
|
||||||
return state.update(
|
state.keymap = action.keymap
|
||||||
keymap=action.keymap,
|
state.row_pins = action.row_pins
|
||||||
row_pins=action.row_pins,
|
state.col_pins = action.col_pins
|
||||||
col_pins=action.col_pins,
|
state.diode_orientation = action.diode_orientation
|
||||||
diode_orientation=action.diode_orientation,
|
return state
|
||||||
)
|
|
||||||
|
|
||||||
# HID events are non-mutating, used exclusively for listeners to know
|
# HID events are non-mutating, used exclusively for listeners to know
|
||||||
# they should be doing things. This could/should arguably be folded back
|
# they should be doing things. This could/should arguably be folded back
|
||||||
@ -228,7 +223,8 @@ def kmk_reducer(state=None, action=None, logger=None):
|
|||||||
return state
|
return state
|
||||||
|
|
||||||
if action.type == MACRO_COMPLETE_EVENT:
|
if action.type == MACRO_COMPLETE_EVENT:
|
||||||
return state.update(macro_pending=None)
|
state.macro_pending = None
|
||||||
|
return state
|
||||||
|
|
||||||
if action.type == PENDING_KEYCODE_POP_EVENT:
|
if action.type == PENDING_KEYCODE_POP_EVENT:
|
||||||
state.pending_keys.pop()
|
state.pending_keys.pop()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user