ui: use label in confirm dialog (#35943)

forget
pull/35945/head
Maxime Desroches 2 days ago committed by GitHub
parent a51477d40d
commit 62bbf6db8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 16
      system/ui/widgets/confirm_dialog.py
  2. 2
      system/ui/widgets/network.py

@ -2,7 +2,7 @@ import pyray as rl
from openpilot.system.ui.lib.application import gui_app, FontWeight from openpilot.system.ui.lib.application import gui_app, FontWeight
from openpilot.system.ui.widgets import DialogResult from openpilot.system.ui.widgets import DialogResult
from openpilot.system.ui.widgets.button import gui_button, ButtonStyle, Button from openpilot.system.ui.widgets.button import gui_button, ButtonStyle, Button
from openpilot.system.ui.widgets.label import gui_text_box from openpilot.system.ui.widgets.label import gui_text_box, Label
from openpilot.system.ui.widgets import Widget from openpilot.system.ui.widgets import Widget
DIALOG_WIDTH = 1520 DIALOG_WIDTH = 1520
@ -15,12 +15,15 @@ BACKGROUND_COLOR = rl.Color(27, 27, 27, 255)
class ConfirmDialog(Widget): class ConfirmDialog(Widget):
def __init__(self, text: str, confirm_text: str, cancel_text: str = "Cancel"): def __init__(self, text: str, confirm_text: str, cancel_text: str = "Cancel"):
super().__init__() super().__init__()
self.text = text self._label = Label(text, 70, FontWeight.BOLD)
self._cancel_button = Button(cancel_text, self._cancel_button_callback) self._cancel_button = Button(cancel_text, self._cancel_button_callback)
self._confirm_button = Button(confirm_text, self._confirm_button_callback, button_style=ButtonStyle.PRIMARY) self._confirm_button = Button(confirm_text, self._confirm_button_callback, button_style=ButtonStyle.PRIMARY)
self._dialog_result = DialogResult.NO_ACTION self._dialog_result = DialogResult.NO_ACTION
self._cancel_text = cancel_text self._cancel_text = cancel_text
def set_text(self, text):
self._label.set_text(text)
def reset(self): def reset(self):
self._dialog_result = DialogResult.NO_ACTION self._dialog_result = DialogResult.NO_ACTION
@ -46,14 +49,7 @@ class ConfirmDialog(Widget):
rl.draw_rectangle_rec(dialog_rect, BACKGROUND_COLOR) rl.draw_rectangle_rec(dialog_rect, BACKGROUND_COLOR)
text_rect = rl.Rectangle(dialog_rect.x + MARGIN, dialog_rect.y, dialog_rect.width - 2 * MARGIN, dialog_rect.height - TEXT_AREA_HEIGHT_REDUCTION) text_rect = rl.Rectangle(dialog_rect.x + MARGIN, dialog_rect.y, dialog_rect.width - 2 * MARGIN, dialog_rect.height - TEXT_AREA_HEIGHT_REDUCTION)
gui_text_box( self._label.render(text_rect)
text_rect,
self.text,
font_size=70,
alignment=rl.GuiTextAlignment.TEXT_ALIGN_CENTER,
alignment_vertical=rl.GuiTextAlignmentVertical.TEXT_ALIGN_MIDDLE,
font_weight=FontWeight.BOLD,
)
if rl.is_key_pressed(rl.KeyboardKey.KEY_ENTER): if rl.is_key_pressed(rl.KeyboardKey.KEY_ENTER):
self._dialog_result = DialogResult.CONFIRM self._dialog_result = DialogResult.CONFIRM

@ -99,7 +99,7 @@ class WifiManagerUI(Widget):
self.keyboard.reset() self.keyboard.reset()
gui_app.set_modal_overlay(self.keyboard, lambda result: self._on_password_entered(network, result)) gui_app.set_modal_overlay(self.keyboard, lambda result: self._on_password_entered(network, result))
case StateShowForgetConfirm(network): case StateShowForgetConfirm(network):
self._confirm_dialog.text = f'Forget Wi-Fi Network "{network.ssid}"?' self._confirm_dialog.set_text(f'Forget Wi-Fi Network "{network.ssid}"?')
self._confirm_dialog.reset() self._confirm_dialog.reset()
gui_app.set_modal_overlay(self._confirm_dialog, callback=lambda result: self.on_forgot_confirm_finished(network, result)) gui_app.set_modal_overlay(self._confirm_dialog, callback=lambda result: self.on_forgot_confirm_finished(network, result))
case _: case _:

Loading…
Cancel
Save