From c1420b24bd593f4dd3c249b68a2be66d470513d5 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:16:14 -0500 Subject: [PATCH] simple mode --- selfdrive/ui/mici/layouts/settings/device.py | 13 ++++++++++++- selfdrive/ui/mici/layouts/settings/visuals.py | 2 +- selfdrive/ui/mici/widgets/button.py | 3 +-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/selfdrive/ui/mici/layouts/settings/device.py b/selfdrive/ui/mici/layouts/settings/device.py index 8a79ff016..15399e224 100644 --- a/selfdrive/ui/mici/layouts/settings/device.py +++ b/selfdrive/ui/mici/layouts/settings/device.py @@ -8,7 +8,7 @@ from openpilot.common.basedir import BASEDIR from openpilot.common.params import Params from openpilot.common.time_helpers import system_time_valid from openpilot.system.ui.widgets.scroller import NavRawScrollPanel, NavScroller -from openpilot.selfdrive.ui.mici.widgets.button import BigButton, BigCircleButton +from openpilot.selfdrive.ui.mici.widgets.button import BigButton, BigCircleButton, BigParamControl from openpilot.selfdrive.ui.mici.widgets.dialog import BigDialog, BigConfirmationDialog from openpilot.selfdrive.ui.mici.widgets.pairing_dialog import PairingDialog from openpilot.selfdrive.ui.mici.onroad.driver_camera_dialog import DriverCameraDialog @@ -338,6 +338,8 @@ class DeviceLayoutMici(NavScroller): regulatory_btn = BigButton("regulatory info", "", gui_app.texture("icons_mici/settings/device/info.png", 64, 64)) regulatory_btn.set_click_callback(self._on_regulatory) + self._simple_mode_btn = BigParamControl("simple mode", "SimpleMode") + driver_cam_btn = BigButton("driver\ncamera preview", "", gui_app.texture("icons_mici/settings/device/cameras.png", 64, 64)) driver_cam_btn.set_click_callback(lambda: gui_app.push_widget(DriverCameraDialog())) driver_cam_btn.set_enabled(lambda: ui_state.is_offroad()) @@ -353,6 +355,7 @@ class DeviceLayoutMici(NavScroller): DeviceInfoLayoutMici(), UpdateOpenpilotBigButton(), PairBigButton(), + self._simple_mode_btn, review_training_guide_btn, driver_cam_btn, reset_driver_monitoring_btn, @@ -364,6 +367,14 @@ class DeviceLayoutMici(NavScroller): self._power_off_btn, ]) + def show_event(self): + super().show_event() + self._simple_mode_btn.refresh() + + def _update_state(self): + super()._update_state() + self._simple_mode_btn.refresh() + def _on_regulatory(self): if not self._fcc_dialog: self._fcc_dialog = MiciFccModal(os.path.join(BASEDIR, "selfdrive/assets/offroad/mici_fcc.html")) diff --git a/selfdrive/ui/mici/layouts/settings/visuals.py b/selfdrive/ui/mici/layouts/settings/visuals.py index e44c57c69..b642dea17 100644 --- a/selfdrive/ui/mici/layouts/settings/visuals.py +++ b/selfdrive/ui/mici/layouts/settings/visuals.py @@ -9,7 +9,7 @@ CAMERA_VIEW_LABELS = ["Auto", "Driver", "Standard", "Wide"] class CameraViewBigButton(BigButton): def __init__(self): - super().__init__("camera view", "", gui_app.texture("icons_mici/settings/device/cameras.png", 64, 64)) + super().__init__("camera view", "", gui_app.texture("icons_mici/onroad/eye_fill.png", 64, 64)) self._params = Params() self.set_click_callback(self._show_selector) self.refresh() diff --git a/selfdrive/ui/mici/widgets/button.py b/selfdrive/ui/mici/widgets/button.py index 058c351fb..51e0f18a8 100644 --- a/selfdrive/ui/mici/widgets/button.py +++ b/selfdrive/ui/mici/widgets/button.py @@ -148,8 +148,7 @@ class BigButton(Widget): super().set_touch_valid_callback(lambda: touch_callback() and self._grow_animation_until is None) def _width_hint(self) -> int: - # Single line if scrolling, so hide behind icon if exists - icon_size = self._txt_icon.width if self._txt_icon and self._scroll and self.value else 0 + icon_size = self._txt_icon.width + 10 if self._txt_icon else 0 return int(self._rect.width - self.LABEL_HORIZONTAL_PADDING * 2 - icon_size) def _get_label_font_size(self):