Files
2026-09-03 18:23:24 -05:00

39 lines
1.6 KiB
Python

"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos/
"""
from iqpilot.system.ui.widgets.scroller import NavScroller
from iqpilot.selfdrive.ui.mici.widgets.stock_button import BigParamControl
from iqpilot.selfdrive.ui.layouts.settings.common import restart_needed_callback
from iqpilot.selfdrive.ui.ui_state import ui_state
from iqpilot.system.ui.lib.multilang import tr
class DashcamLayoutMici(NavScroller):
def __init__(self):
super().__init__()
self._dashcam = BigParamControl(tr("enable dashcam"), "DashcamEnabled", toggle_callback=restart_needed_callback)
self._record_front = BigParamControl(tr("record driver camera"), "RecordFront", toggle_callback=restart_needed_callback)
self._record_audio = BigParamControl(tr("record microphone audio"), "RecordAudio", toggle_callback=restart_needed_callback)
self._scroller.add_widgets([self._dashcam, self._record_front, self._record_audio])
self._refresh_toggles = (
("DashcamEnabled", self._dashcam),
("RecordFront", self._record_front),
("RecordAudio", self._record_audio),
)
self._record_front.set_enabled(False if ui_state.params.get_bool("RecordFrontLock") else (lambda: not ui_state.engaged))
self._record_audio.set_enabled(lambda: not ui_state.engaged)
ui_state.add_engaged_transition_callback(self._update_toggles)
def show_event(self):
super().show_event()
self._update_toggles()
def _update_toggles(self):
ui_state.update_params()
for key, item in self._refresh_toggles:
item.set_checked(ui_state.params.get_bool(key))