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 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 ignore::{WalkBuilder, types::TypesBuilder};
|
||||||
use rayon::iter::{ParallelBridge, ParallelIterator};
|
use rayon::iter::{ParallelBridge, ParallelIterator};
|
||||||
|
|
||||||
|
|
@ -76,9 +76,11 @@ impl State {
|
||||||
Task::none()
|
Task::none()
|
||||||
}
|
}
|
||||||
fn view(&self) -> Element<'_, Message, Theme, Renderer> {
|
fn view(&self) -> Element<'_, Message, Theme, Renderer> {
|
||||||
widget::scrollable(
|
widget::column([
|
||||||
widget::grid(self.images.iter().map(|(path, opt_handle)| {
|
widget::scrollable(widget::grid(self.images.iter().map(
|
||||||
widget::mouse_area(
|
|(path, opt_handle)| {
|
||||||
|
widget::button(
|
||||||
|
widget::container(
|
||||||
widget::sensor(opt_handle.as_ref().map_or_else(
|
widget::sensor(opt_handle.as_ref().map_or_else(
|
||||||
|| Element::from(widget::space()),
|
|| Element::from(widget::space()),
|
||||||
|handle| widget::image(handle).into(),
|
|handle| widget::image(handle).into(),
|
||||||
|
|
@ -86,12 +88,23 @@ impl State {
|
||||||
.on_show(|_size| Message::LoadImage(path.clone()))
|
.on_show(|_size| Message::LoadImage(path.clone()))
|
||||||
.on_hide(Message::UnloadImage(path.clone())),
|
.on_hide(Message::UnloadImage(path.clone())),
|
||||||
)
|
)
|
||||||
|
.center(Length::Fill),
|
||||||
|
)
|
||||||
|
.style(widget::button::subtle)
|
||||||
.on_press(Message::OpenImage(path.clone()))
|
.on_press(Message::OpenImage(path.clone()))
|
||||||
.into()
|
.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()
|
.into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue