feat: display errors
This commit is contained in:
parent
b4d155808b
commit
29a9ce5d75
1 changed files with 29 additions and 16 deletions
|
|
@ -1,6 +1,6 @@
|
|||
use std::{borrow::Cow, collections::HashMap, env, path::PathBuf, process};
|
||||
|
||||
use iced::{Color, Element, Renderer, Task, Theme, application, theme, widget};
|
||||
use iced::{Color, Element, Length, Renderer, Task, Theme, application, theme, widget};
|
||||
use ignore::{WalkBuilder, types::TypesBuilder};
|
||||
use rayon::iter::{ParallelBridge, ParallelIterator};
|
||||
|
||||
|
|
@ -76,9 +76,11 @@ impl State {
|
|||
Task::none()
|
||||
}
|
||||
fn view(&self) -> Element<'_, Message, Theme, Renderer> {
|
||||
widget::scrollable(
|
||||
widget::grid(self.images.iter().map(|(path, opt_handle)| {
|
||||
widget::mouse_area(
|
||||
widget::column([
|
||||
widget::scrollable(widget::grid(self.images.iter().map(
|
||||
|(path, opt_handle)| {
|
||||
widget::button(
|
||||
widget::container(
|
||||
widget::sensor(opt_handle.as_ref().map_or_else(
|
||||
|| Element::from(widget::space()),
|
||||
|handle| widget::image(handle).into(),
|
||||
|
|
@ -86,12 +88,23 @@ impl State {
|
|||
.on_show(|_size| Message::LoadImage(path.clone()))
|
||||
.on_hide(Message::UnloadImage(path.clone())),
|
||||
)
|
||||
.center(Length::Fill),
|
||||
)
|
||||
.style(widget::button::subtle)
|
||||
.on_press(Message::OpenImage(path.clone()))
|
||||
.into()
|
||||
}))
|
||||
.fluid(500)
|
||||
.spacing(0),
|
||||
},
|
||||
)))
|
||||
.height(Length::Fill)
|
||||
.into(),
|
||||
self.error
|
||||
.as_ref()
|
||||
.map_or_else(
|
||||
|| Element::from(widget::space()),
|
||||
|error| widget::text(error).style(widget::text::danger).into(),
|
||||
)
|
||||
.into(),
|
||||
])
|
||||
.into()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue