diff --git a/core/embed/rust/src/ui/model_mercury/component/keyboard/word_count.rs b/core/embed/rust/src/ui/model_mercury/component/keyboard/word_count.rs index 778fcda99..c06cc4bab 100644 --- a/core/embed/rust/src/ui/model_mercury/component/keyboard/word_count.rs +++ b/core/embed/rust/src/ui/model_mercury/component/keyboard/word_count.rs @@ -10,7 +10,7 @@ use crate::ui::{ const NUMBERS: [u32; 5] = [12, 18, 20, 24, 33]; const LABELS: [&str; 5] = ["12", "18", "20", "24", "33"]; -const CELLS: [(usize, usize); 5] = [(0, 0), (0, 2), (0, 4), (1, 0), (1, 2)]; +const CELLS: [(usize, usize); 5] = [(0, 0), (0, 4), (1, 0), (1, 4), (2, 2)]; pub struct SelectWordCount { button: [Button<&'static str>; NUMBERS.len()], @@ -32,12 +32,13 @@ impl Component for SelectWordCount { type Msg = SelectWordCountMsg; fn place(&mut self, bounds: Rect) -> Rect { - let (_, bounds) = bounds.split_bottom(2 * theme::BUTTON_HEIGHT + theme::BUTTON_SPACING); - let grid = Grid::new(bounds, 2, 6).with_spacing(theme::BUTTON_SPACING); + let (_, bounds) = + bounds.split_bottom(3 * theme::WORDCOUNT_BUTTON_HEIGHT + theme::PIN_BUTTON_SPACING); + let grid = Grid::new(bounds, 3, 8).with_spacing(theme::PIN_BUTTON_SPACING); for (btn, (x, y)) in self.button.iter_mut().zip(CELLS) { btn.place(grid.cells(GridCellSpan { from: (x, y), - to: (x, y + 1), + to: (x, y + 3), })); } bounds diff --git a/core/embed/rust/src/ui/model_mercury/layout.rs b/core/embed/rust/src/ui/model_mercury/layout.rs index 2d18aa1cd..a75baa939 100644 --- a/core/embed/rust/src/ui/model_mercury/layout.rs +++ b/core/embed/rust/src/ui/model_mercury/layout.rs @@ -1475,23 +1475,12 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut extern "C" fn new_select_word_count(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj { let block = move |_args: &[Obj], kwargs: &Map| { - let dry_run: bool = kwargs.get(Qstr::MP_QSTR_dry_run)?.try_into()?; - let title: StrBuffer = if dry_run { - TR::recovery__title_dry_run.try_into()? - } else { - TR::recovery__title.try_into()? - }; - let paragraphs = Paragraphs::new(Paragraph::::new( &theme::TEXT_DEMIBOLD, TR::recovery__select_num_of_words.try_into()?, )); - let obj = LayoutObj::new(Frame::left_aligned( - theme::label_title(), - title, - Dialog::new(paragraphs, SelectWordCount::new()), - ))?; + let obj = LayoutObj::new(Dialog::new(paragraphs, SelectWordCount::new()))?; Ok(obj.into()) }; unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } @@ -2038,7 +2027,7 @@ pub static mp_module_trezorui2: Module = obj_module! { /// def select_word_count( /// *, - /// dry_run: bool, + /// dry_run: bool, # unused in T3T1 /// ) -> int | str: # TT returns int /// """Select mnemonic word count from (12, 18, 20, 24, 33).""" Qstr::MP_QSTR_select_word_count => obj_fn_kw!(0, new_select_word_count).as_obj(), diff --git a/core/embed/rust/src/ui/model_mercury/theme/mod.rs b/core/embed/rust/src/ui/model_mercury/theme/mod.rs index fa5315b58..d4e021359 100644 --- a/core/embed/rust/src/ui/model_mercury/theme/mod.rs +++ b/core/embed/rust/src/ui/model_mercury/theme/mod.rs @@ -714,6 +714,7 @@ pub const TEXT_CHECKLIST_DONE: TextStyle = pub const CONTENT_BORDER: i16 = 0; pub const BUTTON_HEIGHT: i16 = 50; +pub const WORDCOUNT_BUTTON_HEIGHT: i16 = 60; pub const BUTTON_WIDTH: i16 = 56; pub const BUTTON_SPACING: i16 = 6; pub const KEYBOARD_SPACING: i16 = BUTTON_SPACING;