fix(core): correctly repaint ShowMore component when requested

matejcik/global-layout-only2
matejcik 3 months ago
parent d2e8d8d5b2
commit 2b2a2c1fc2

@ -1,7 +1,7 @@
use crate::{ use crate::{
strutil::TString, strutil::TString,
ui::{ ui::{
component::{Child, Component, Event, EventCtx}, component::{Child, Component, Event, EventCtx, Never},
geometry::{Insets, Rect}, geometry::{Insets, Rect},
}, },
}; };
@ -42,7 +42,7 @@ where
impl<T> Component for ShowMore<T> impl<T> Component for ShowMore<T>
where where
T: Component, T: Component<Msg = Never>,
{ {
type Msg = CancelInfoConfirmMsg; type Msg = CancelInfoConfirmMsg;
@ -55,6 +55,7 @@ where
} }
fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option<Self::Msg> { fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option<Self::Msg> {
self.content.event(ctx, event);
let button_event = self.buttons.event(ctx, event); let button_event = self.buttons.event(ctx, event);
if let Some(ButtonControllerMsg::Triggered(pos, _)) = button_event { if let Some(ButtonControllerMsg::Triggered(pos, _)) = button_event {

@ -21,18 +21,14 @@ use crate::{
trezorhal::model, trezorhal::model,
ui::{ ui::{
component::{ component::{
base::Component, base::Component, connect::Connect, paginated::{PageMsg, Paginate}, text::{
connect::Connect,
paginated::{PageMsg, Paginate},
text::{
op::OpTextLayout, op::OpTextLayout,
paragraphs::{ paragraphs::{
Checklist, Paragraph, ParagraphSource, ParagraphVecLong, ParagraphVecShort, Checklist, Paragraph, ParagraphSource, ParagraphVecLong, ParagraphVecShort,
Paragraphs, VecExt, Paragraphs, VecExt,
}, },
TextStyle, TextStyle,
}, }, ComponentExt, FormattedText, Label, LineBreaking, Never, Timeout
ComponentExt, FormattedText, Label, LineBreaking, Timeout,
}, },
display, geometry, display, geometry,
layout::{ layout::{
@ -66,7 +62,7 @@ impl From<CancelConfirmMsg> for Obj {
impl<T> ComponentMsgObj for ShowMore<T> impl<T> ComponentMsgObj for ShowMore<T>
where where
T: Component, T: Component<Msg = Never>,
{ {
fn msg_try_into_obj(&self, msg: Self::Msg) -> Result<Obj, Error> { fn msg_try_into_obj(&self, msg: Self::Msg) -> Result<Obj, Error> {
match msg { match msg {

Loading…
Cancel
Save