diff --git a/src/main.rs b/src/main.rs index 22d86ce..de84df6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -68,10 +68,8 @@ impl State { let main = self.image_display.as_ref().map_or_else( || { widget::container(widget::text(include_str!("usage.txt"))) - .height(Length::Fill) - .width(Length::Fill) - .align_x(Alignment::Center) - .align_y(Alignment::Center) + .center_x(Length::Fill) + .center_y(Length::Fill) .boxed() }, |allocation| { @@ -85,20 +83,22 @@ impl State { }, ); - let mut bar = Vec::new(); - if let Some(error) = self.error.as_ref() { - bar.push(widget::text(error).style(widget::text::danger).boxed()); - } - if self.infobar_shown && self.info.is_some() { - bar.push( + let error = self + .error + .as_ref() + .map(|error| widget::text(error).style(widget::text::danger)); + + let info = if self.infobar_shown && self.info.is_some() { + Some( widget::container(widget::text(self.title())) .align_x(Alignment::End) - .width(Length::Fill) - .boxed(), - ); - } + .width(Length::Fill), + ) + } else { + None + }; - widget::column([main, widget::row(bar).boxed()]) + widget::column![main, widget::row![error, info]] } fn update(&mut self, message: Message) -> Task { match message {