WIP - relative imports for model-specific things

tychovrahe/trbootloader/main_before
grdddj 1 year ago
parent e0161a99b6
commit 3c1c2f3da6

@ -6,15 +6,17 @@ use crate::ui::{
constant::screen,
display::{Color, Icon},
geometry::{Point, Rect, CENTER},
model_tr::{
};
use super::{
super::{
component::{Button, ButtonMsg::Clicked},
constant::{HEIGHT, WIDTH},
theme::WHITE,
},
ReturnToC,
};
use super::ReturnToC;
#[derive(Copy, Clone)]
pub enum ConfirmMsg {
Cancel = 1,

@ -4,19 +4,15 @@ use crate::ui::{
Child, Component, Event, EventCtx, Pad,
},
geometry::{LinearPlacement, Point, Rect},
model_tr::{
bootloader::{
theme::{BLD_BG, TEXT_NORMAL},
title::Title,
ReturnToC,
},
component::ButtonMsg::Clicked,
},
};
use crate::ui::model_tr::{
bootloader::theme::bld_button_default,
component::{Button, ButtonPos},
use super::super::{
bootloader::{
theme::{bld_button_default, BLD_BG, TEXT_NORMAL},
title::Title,
ReturnToC,
},
component::{Button, ButtonMsg::Clicked, ButtonPos},
constant::{HEIGHT, WIDTH},
};

@ -1,10 +1,11 @@
use crate::ui::{
component::{Child, Component, Event, EventCtx, Never, Pad},
geometry::{Point, Rect},
model_tr::{
bootloader::{theme::BLD_BG, title::Title},
constant::{HEIGHT, WIDTH},
},
};
use super::super::{
bootloader::{theme::BLD_BG, title::Title},
constant::{HEIGHT, WIDTH},
};
pub struct Menu {

@ -4,7 +4,6 @@ use crate::{
component::{Component, Never},
display::{self, Font},
geometry::Point,
model_tr::constant,
},
};
@ -23,19 +22,21 @@ use crate::ui::{
display::{fade_backlight_duration, Color, Icon, TextOverlay},
event::ButtonEvent,
geometry::{LinearPlacement, Offset, Rect, CENTER},
model_tr::{
bootloader::{
confirm::Confirm,
intro::Intro,
menu::Menu,
theme::{bld_button_cancel, bld_button_default, BLD_BG, BLD_FG},
},
component::{Button, ButtonPos, ResultScreen},
theme::{BACKLIGHT_NORMAL, ICON_FAIL, ICON_SUCCESS, LOGO_EMPTY},
},
util::{from_c_array, from_c_str},
};
use super::{
bootloader::{
confirm::Confirm,
intro::Intro,
menu::Menu,
theme::{bld_button_cancel, bld_button_default, BLD_BG, BLD_FG},
},
component::{Button, ButtonPos, ResultScreen},
constant,
theme::{BACKLIGHT_NORMAL, ICON_FAIL, ICON_SUCCESS, LOGO_EMPTY},
};
const SCREEN_ADJ: Rect = screen().split_top(64).0;
pub trait ReturnToC {

@ -1,10 +1,11 @@
use crate::ui::{
component::text::TextStyle,
display::{Color, Font},
model_tr::{
component::ButtonStyleSheet,
theme::{BG, BLACK, FG, WHITE},
},
};
use super::super::{
component::ButtonStyleSheet,
theme::{BG, BLACK, FG, WHITE},
};
pub const BLD_BG: Color = BLACK;

@ -2,9 +2,10 @@ use crate::ui::{
component::{Component, Event, EventCtx, Never},
display::{self, Font},
geometry::{Point, Rect},
model_tr::bootloader::theme::{BLD_BG, BLD_FG},
};
use super::theme::{BLD_BG, BLD_FG};
pub struct Title {
version: &'static str,
area: Rect,

@ -9,11 +9,12 @@ use crate::{
Child, Component, Event, EventCtx, Pad, Paginate, Qr,
},
geometry::Rect,
model_tr::theme,
},
};
use super::{ButtonController, ButtonControllerMsg, ButtonDetails, ButtonLayout, ButtonPos, Frame};
use super::{
theme, ButtonController, ButtonControllerMsg, ButtonDetails, ButtonLayout, ButtonPos, Frame,
};
const MAX_XPUBS: usize = 16;
const QR_BORDER: i16 = 3;

@ -4,10 +4,11 @@ use crate::{
component::{base::Never, Component, Event, EventCtx},
display::{text_multiline_split_words, Font},
geometry::{Alignment, Rect},
model_tr::theme,
},
};
use super::theme;
const HEADER: &str = "COINJOIN IN PROGRESS";
const FOOTER: &str = "Don't disconnect your Trezor";

@ -3,13 +3,12 @@ use crate::{
ui::{
component::{Child, Component, ComponentExt, Event, EventCtx, Pad},
geometry::Rect,
model_tr::component::{scrollbar::SCROLLBAR_SPACE, title::Title},
},
};
use super::{
theme, ButtonAction, ButtonController, ButtonControllerMsg, ButtonLayout, ButtonPos, FlowPages,
Page, ScrollBar,
scrollbar::SCROLLBAR_SPACE, theme, title::Title, ButtonAction, ButtonController,
ButtonControllerMsg, ButtonLayout, ButtonPos, FlowPages, Page, ScrollBar,
};
/// To be returned directly from Flow.

@ -10,7 +10,6 @@ use crate::{
},
display::{Font, Icon},
geometry::{Alignment, Offset, Rect},
model_tr::theme,
util::ResultExt,
},
};
@ -19,7 +18,7 @@ use heapless::Vec;
use super::{
flow_pages_helpers::{Op, ToDisplay},
ButtonActions, ButtonDetails, ButtonLayout,
theme, ButtonActions, ButtonDetails, ButtonLayout,
};
/// Holding specific workflows that are created in `layout.rs`.

@ -4,13 +4,11 @@ use crate::{
ui::{
component::{Child, Component, ComponentExt, Event, EventCtx},
geometry::{Insets, Rect},
model_tr::{
component::{scrollbar::SCROLLBAR_SPACE, title::Title},
constant,
},
},
};
use super::{super::constant, scrollbar::SCROLLBAR_SPACE, title::Title};
/// Component for holding another component and displaying a title.
pub struct Frame<T> {
title: Title,

@ -4,13 +4,11 @@ use crate::{
component::{Component, Event, EventCtx},
event::ButtonEvent,
geometry::Rect,
model_tr::{
component::{loader::Loader, ButtonPos, LoaderMsg, LoaderStyleSheet},
theme,
},
},
};
use super::{loader::Loader, theme, ButtonPos, LoaderMsg, LoaderStyleSheet};
pub enum HoldToConfirmMsg {
Confirmed,
FailedToConfirm,

@ -11,11 +11,13 @@ use crate::{
},
event::USBEvent,
geometry::{self, Alignment, Offset, Point, Rect},
model_tr::constant,
},
};
use super::{common::display_center, theme, ButtonController, ButtonControllerMsg, ButtonLayout};
use super::{
super::constant, common::display_center, theme, ButtonController, ButtonControllerMsg,
ButtonLayout,
};
const AREA: Rect = constant::screen();
const TOP_CENTER: Point = AREA.top_center();

@ -1,13 +1,12 @@
use crate::ui::{
display::{rect_fill, rect_fill_corners, rect_outline_rounded, Font, Icon},
geometry::{Offset, Rect, BOTTOM_LEFT, BOTTOM_RIGHT},
model_tr::theme,
};
use heapless::String;
use super::super::{
common::{display, display_inverse, display_right},
ButtonDetails, ButtonLayout, Choice,
theme, ButtonDetails, ButtonLayout, Choice,
};
const ICON_RIGHT_PADDING: i16 = 2;

@ -2,12 +2,12 @@ use crate::ui::{
component::{text::common::TextBox, Child, Component, ComponentExt, Event, EventCtx},
display::Icon,
geometry::Rect,
model_tr::{component::ButtonDetails, theme},
util::char_to_string,
};
use super::super::{
ButtonLayout, ChangingTextLine, ChoiceFactory, ChoiceItem, ChoicePage, ChoicePageMsg,
theme, ButtonDetails, ButtonLayout, ChangingTextLine, ChoiceFactory, ChoiceItem, ChoicePage,
ChoicePageMsg,
};
use crate::micropython::buffer::StrBuffer;
use heapless::String;

@ -5,12 +5,11 @@ use crate::{
component::{text::common::TextBox, Child, Component, ComponentExt, Event, EventCtx},
display::Icon,
geometry::Rect,
model_tr::theme,
},
};
use super::super::{
ButtonDetails, ButtonLayout, ChangingTextLine, ChoiceFactory, ChoiceItem, ChoicePage,
theme, ButtonDetails, ButtonLayout, ChangingTextLine, ChoiceFactory, ChoiceItem, ChoicePage,
ChoicePageMsg,
};
use heapless::String;

@ -4,13 +4,12 @@ use crate::{
component::{text::common::TextBox, Child, Component, ComponentExt, Event, EventCtx},
display::Icon,
geometry::Rect,
model_tr::theme,
util::char_to_string,
},
};
use super::super::{
ButtonLayout, ChangingTextLine, ChoiceFactory, ChoiceItem, ChoicePage, ChoicePageMsg,
theme, ButtonLayout, ChangingTextLine, ChoiceFactory, ChoiceItem, ChoicePage, ChoicePageMsg,
};
use crate::micropython::buffer::StrBuffer;
use heapless::{String, Vec};

@ -5,11 +5,12 @@ use crate::{
component::{Component, Event, EventCtx},
display::{self, Color, Font},
geometry::{Offset, Rect},
model_tr::theme,
util::animation_disabled,
},
};
use super::theme;
pub enum LoaderMsg {
GrownCompletely,
ShrunkCompletely,

@ -2,10 +2,12 @@ use crate::ui::{
component::{Child, Component, ComponentExt, Event, EventCtx, Pad, PageMsg, Paginate},
display::Color,
geometry::{Insets, Rect},
model_tr::constant,
};
use super::{theme, ButtonController, ButtonControllerMsg, ButtonDetails, ButtonLayout, ButtonPos};
use super::{
super::constant, theme, ButtonController, ButtonControllerMsg, ButtonDetails, ButtonLayout,
ButtonPos,
};
pub struct ButtonPage<T> {
page_count: usize,
@ -218,9 +220,10 @@ where
// DEBUG-ONLY SECTION BELOW
use super::frame::ScrollableContent;
#[cfg(feature = "ui_debug")]
use super::ButtonAction;
use crate::{micropython::buffer::StrBuffer, ui::model_tr::component::frame::ScrollableContent};
use crate::micropython::buffer::StrBuffer;
#[cfg(feature = "ui_debug")]
use heapless::String;

@ -12,12 +12,11 @@ use crate::{
},
display::{self, Font},
geometry::Rect,
model_tr::constant,
util::animation_disabled,
},
};
use super::theme;
use super::super::{constant, theme};
pub struct Progress {
title: Child<Label<StrBuffer>>,

@ -6,10 +6,11 @@ use crate::{
display,
display::toif::Icon,
geometry::Rect,
model_tr::theme,
},
};
use super::super::theme;
pub enum ResultAnimMsg {
FullyGrown,
}

@ -9,14 +9,13 @@ use crate::{
constant::screen,
display::toif::Icon,
geometry::{Alignment, Insets, LinearPlacement, Rect},
model_tr::{
component::{ButtonPos, ResultAnim, ResultAnimMsg},
theme,
},
},
};
use super::{ButtonController, ButtonControllerMsg, ButtonLayout};
use super::{
super::theme, ButtonController, ButtonControllerMsg, ButtonLayout, ButtonPos, ResultAnim,
ResultAnimMsg,
};
pub enum ResultPopupMsg {
Confirmed,

@ -2,9 +2,10 @@ use crate::ui::{
component::{Component, Event, EventCtx, Never, Pad},
display,
geometry::{Offset, Point, Rect},
model_tr::theme,
};
use super::super::theme;
use heapless::Vec;
/// Scrollbar to be painted horizontally at the top right of the screen.

@ -1,20 +1,15 @@
use crate::{
micropython::buffer::StrBuffer,
ui::{
component::{Component, Event, EventCtx, Never, Paginate},
component::{Child, Component, Event, EventCtx, Never, Paginate},
display::{text_multiline_split_words, Font},
geometry::{Alignment, Offset, Rect},
model_tr::theme,
},
};
use crate::ui::{
component::Child,
model_tr::component::{scrollbar::SCROLLBAR_SPACE, title::Title, ScrollBar},
};
use heapless::{String, Vec};
use super::common::display;
use super::{common::display, scrollbar::SCROLLBAR_SPACE, theme, title::Title, ScrollBar};
const WORDS_PER_PAGE: usize = 3;
const EXTRA_LINE_HEIGHT: i16 = 2;

@ -5,10 +5,11 @@ use crate::{
component::{Component, Event, EventCtx, Marquee, Never},
display,
geometry::{Offset, Rect},
model_tr::theme,
},
};
use super::super::theme;
pub struct Title {
area: Rect,
title: StrBuffer,

@ -2,9 +2,10 @@ use crate::ui::{
component::{Component, Event, EventCtx, Never},
display::{self, Icon},
geometry::{self, Offset, Rect},
model_tr::theme,
};
use super::super::theme;
const TEXT_BOTTOM_MARGIN: i16 = 2; // matching the homescreen label margin
const ICON_TOP_MARGIN: i16 = 11;
const MODEL_NAME: &str = "Trezor Model R";

@ -38,7 +38,6 @@ use crate::{
upy_toif_info, ConfirmBlob,
},
},
model_tr::component::{ScrollableContent, ScrollableFrame},
},
};
@ -47,9 +46,9 @@ use super::{
AddressDetails, AddressDetailsMsg, ButtonActions, ButtonDetails, ButtonLayout, ButtonPage,
CancelInfoConfirmMsg, CoinJoinProgress, Flow, FlowMsg, FlowPages, Frame, Homescreen,
HomescreenMsg, Lockscreen, NoBtnDialog, NoBtnDialogMsg, NumberInput, NumberInputMsg, Page,
PassphraseEntry, PassphraseEntryMsg, PinEntry, PinEntryMsg, Progress, ShareWords, ShowMore,
SimpleChoice, SimpleChoiceMsg, WelcomeScreen, WordlistEntry, WordlistEntryMsg,
WordlistType,
PassphraseEntry, PassphraseEntryMsg, PinEntry, PinEntryMsg, Progress, ScrollableContent,
ScrollableFrame, ShareWords, ShowMore, SimpleChoice, SimpleChoiceMsg, WelcomeScreen,
WordlistEntry, WordlistEntryMsg, WordlistType,
},
constant, theme,
};

@ -7,11 +7,12 @@ use crate::ui::{
},
display::Icon,
geometry::LinearPlacement,
model_tr::{
component::ResultScreen,
constant,
theme::{BLACK, ICON_FAIL, TEXT_BOLD, TEXT_NORMAL, WHITE},
},
};
use super::{
component::ResultScreen,
constant,
theme::{BLACK, ICON_FAIL, TEXT_BOLD, TEXT_NORMAL, WHITE},
};
#[cfg(not(feature = "micropython"))]

Loading…
Cancel
Save