mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-08-22 08:43:54 +08:00
ui: add confirmation circle button (#37586)
* try this * clean up and use it * clean up * simpler * do this later * do onboarding & reset * do setup * temp * Revert "temp" This reverts commit 22fbbf5c813b4915e784b9ee235ed3bde2229048. * simpler again * missing size * fix * Revert "fix" This reverts commit 53c4e29e614181029dc8e9a2baea7694957dc8fb. * nl
This commit is contained in:
+8
-20
@@ -11,8 +11,7 @@ from openpilot.system.ui.lib.application import gui_app
|
||||
from openpilot.system.ui.widgets.scroller import Scroller
|
||||
from openpilot.system.ui.widgets.nav_widget import NavWidget
|
||||
from openpilot.system.ui.mici_setup import GreyBigButton, FailedPage
|
||||
from openpilot.selfdrive.ui.mici.widgets.dialog import BigConfirmationDialog
|
||||
from openpilot.selfdrive.ui.mici.widgets.button import BigCircleButton
|
||||
from openpilot.selfdrive.ui.mici.widgets.dialog import BigConfirmationCircleButton
|
||||
|
||||
USERDATA = "/dev/disk/by-partlabel/userdata"
|
||||
TIMEOUT = 3*60
|
||||
@@ -70,37 +69,26 @@ class Reset(Scroller):
|
||||
self._resetting_page = ResettingPage()
|
||||
self._reset_failed_page = ResetFailedPage()
|
||||
|
||||
def show_confirm_dialog():
|
||||
dialog = BigConfirmationDialog("erase\ndevice", "icons_mici/settings/device/uninstall.png", self.start_reset, red=True)
|
||||
gui_app.push_widget(dialog)
|
||||
self._reset_button = BigConfirmationCircleButton("erase\ndevice", "icons_mici/settings/device/uninstall.png", self.start_reset, red=True)
|
||||
self._cancel_button = BigConfirmationCircleButton("normal\nstartup", "icons_mici/settings/device/reboot.png", gui_app.request_close, exit_on_confirm=False)
|
||||
self._reboot_button = BigConfirmationCircleButton("reboot\ndevice", "icons_mici/settings/device/reboot.png", HARDWARE.reboot, exit_on_confirm=False)
|
||||
|
||||
def show_cancel_dialog():
|
||||
dialog = BigConfirmationDialog("normal\nstartup", "icons_mici/settings/device/reboot.png", gui_app.request_close, exit_on_confirm=False)
|
||||
gui_app.push_widget(dialog)
|
||||
|
||||
def show_reboot_dialog():
|
||||
dialog = BigConfirmationDialog("reboot\ndevice", "icons_mici/settings/device/reboot.png", HARDWARE.reboot, exit_on_confirm=False)
|
||||
gui_app.push_widget(dialog)
|
||||
|
||||
self._reset_button = BigCircleButton("icons_mici/settings/device/uninstall.png", red=True)
|
||||
self._reset_button.set_click_callback(show_confirm_dialog)
|
||||
|
||||
self._cancel_button = BigCircleButton("icons_mici/settings/device/reboot.png")
|
||||
self._cancel_button.set_click_callback(show_cancel_dialog)
|
||||
# show reboot button if in recover mode
|
||||
self._cancel_button.set_visible(mode != ResetMode.RECOVER)
|
||||
self._reboot_button.set_visible(mode == ResetMode.RECOVER)
|
||||
|
||||
main_card = GreyBigButton("factory reset", "all content and\nsettings will be erased",
|
||||
gui_app.texture("icons_mici/setup/factory_reset.png", 64, 64))
|
||||
|
||||
# cancel button becomes reboot button
|
||||
if mode == ResetMode.RECOVER:
|
||||
main_card.set_text("unable to mount\ndata partition")
|
||||
main_card.set_value("it may be corrupted")
|
||||
self._cancel_button.set_click_callback(show_reboot_dialog)
|
||||
|
||||
self._scroller.add_widgets([
|
||||
main_card,
|
||||
self._reset_button,
|
||||
self._cancel_button,
|
||||
self._reboot_button,
|
||||
])
|
||||
|
||||
def _do_erase(self):
|
||||
|
||||
+4
-10
@@ -28,8 +28,8 @@ from openpilot.system.ui.widgets.scroller import Scroller, NavScroller, ITEM_SPA
|
||||
from openpilot.system.ui.widgets.slider import LargerSlider
|
||||
from openpilot.selfdrive.ui.mici.layouts.settings.network import WifiNetworkButton
|
||||
from openpilot.selfdrive.ui.mici.layouts.settings.network.wifi_ui import WifiUIMici
|
||||
from openpilot.selfdrive.ui.mici.widgets.dialog import BigInputDialog, BigConfirmationDialog
|
||||
from openpilot.selfdrive.ui.mici.widgets.button import BigCircleButton, BigButton
|
||||
from openpilot.selfdrive.ui.mici.widgets.dialog import BigInputDialog, BigConfirmationCircleButton
|
||||
from openpilot.selfdrive.ui.mici.widgets.button import BigButton
|
||||
|
||||
NetworkType = log.DeviceState.NetworkType
|
||||
|
||||
@@ -247,13 +247,6 @@ class FailedPage(NavScroller):
|
||||
super().__init__()
|
||||
self.set_back_callback(retry_callback)
|
||||
|
||||
def show_reboot_dialog():
|
||||
dialog = BigConfirmationDialog("slide to reboot", "icons_mici/settings/device/reboot.png", HARDWARE.reboot, exit_on_confirm=False)
|
||||
gui_app.push_widget(dialog)
|
||||
|
||||
reboot_button = BigCircleButton("icons_mici/settings/device/reboot.png", red=False, icon_size=(64, 70))
|
||||
reboot_button.set_click_callback(show_reboot_dialog)
|
||||
|
||||
self._reason_card = GreyBigButton("", "")
|
||||
self._reason_card.set_visible(False)
|
||||
|
||||
@@ -261,7 +254,8 @@ class FailedPage(NavScroller):
|
||||
GreyBigButton(title, description or "swipe down to go\nback and try again",
|
||||
gui_app.texture(icon, 64, 58)),
|
||||
self._reason_card,
|
||||
reboot_button,
|
||||
BigConfirmationCircleButton("slide to reboot", "icons_mici/settings/device/reboot.png",
|
||||
HARDWARE.reboot, exit_on_confirm=False, icon_size=(64, 70)),
|
||||
])
|
||||
|
||||
def set_reason(self, reason: str):
|
||||
|
||||
Reference in New Issue
Block a user