Compare commits
3 changed files with 9 additions and 32 deletions
11
Cargo.lock
generated
11
Cargo.lock
generated
|
|
@ -1429,7 +1429,6 @@ dependencies = [
|
|||
"rayon",
|
||||
"rfd",
|
||||
"size",
|
||||
"tokio",
|
||||
"zip",
|
||||
]
|
||||
|
||||
|
|
@ -1746,7 +1745,6 @@ dependencies = [
|
|||
"iced_core",
|
||||
"log",
|
||||
"rustc-hash 2.1.3",
|
||||
"tokio",
|
||||
"wasm-bindgen-futures",
|
||||
"wasmtimer",
|
||||
]
|
||||
|
|
@ -4261,15 +4259,6 @@ version = "0.1.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.53.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed"
|
||||
dependencies = [
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "1.1.4+spec-1.1.0"
|
||||
|
|
|
|||
|
|
@ -10,12 +10,11 @@ kra-image-integration = "0.1.0"
|
|||
rayon = "1.12.0"
|
||||
rfd = "0.17.2"
|
||||
size = "0.5.0"
|
||||
tokio = "1.53.1"
|
||||
zip = "8.6.0"
|
||||
|
||||
[dependencies.iced]
|
||||
version = "0.14.0"
|
||||
features = [ "image", "tokio" ]
|
||||
features = [ "image" ]
|
||||
|
||||
[dependencies.image]
|
||||
version = "0.25.10"
|
||||
|
|
|
|||
|
|
@ -42,8 +42,6 @@ enum Message {
|
|||
struct State {
|
||||
images: BTreeMap<PathBuf, MaybeImage>,
|
||||
|
||||
filter: widget::image::FilterMethod,
|
||||
|
||||
columns: usize,
|
||||
|
||||
key: usize,
|
||||
|
|
@ -55,8 +53,10 @@ impl State {
|
|||
fn new() -> (Self, Task<Message>) {
|
||||
(
|
||||
Self {
|
||||
images: BTreeMap::new(),
|
||||
columns: 3,
|
||||
..Default::default()
|
||||
key: 0,
|
||||
error: None,
|
||||
},
|
||||
Task::done(Message::OpenPath(Some(
|
||||
env::args()
|
||||
|
|
@ -75,13 +75,9 @@ impl State {
|
|||
let size = 1000 / self.columns as u32;
|
||||
let (task, handle) = Task::perform(
|
||||
async move {
|
||||
tokio::task::spawn_blocking(move || {
|
||||
utils::load_thumbnail(&path, size)
|
||||
.map(|img| (path, handle_from_image(img)))
|
||||
.map_err(Arc::new)
|
||||
})
|
||||
.await
|
||||
.unwrap()
|
||||
utils::load_thumbnail(&path, size)
|
||||
.map(|img| (path, handle_from_image(img)))
|
||||
.map_err(Arc::new)
|
||||
},
|
||||
Message::ImageLoaded,
|
||||
)
|
||||
|
|
@ -178,13 +174,6 @@ impl State {
|
|||
self.columns = (self.columns - 1).clamp(1, 10)
|
||||
}
|
||||
|
||||
keyboard::Key::Character("f") => {
|
||||
self.filter = match self.filter {
|
||||
widget::image::FilterMethod::Linear => widget::image::FilterMethod::Nearest,
|
||||
widget::image::FilterMethod::Nearest => widget::image::FilterMethod::Linear,
|
||||
}
|
||||
}
|
||||
|
||||
keyboard::Key::Character("q") => {
|
||||
return window::latest().and_then(window::close);
|
||||
}
|
||||
|
|
@ -202,10 +191,10 @@ impl State {
|
|||
widget::container(
|
||||
widget::sensor(maybe_image.handle().map_or_else(
|
||||
|| Element::from(widget::space()),
|
||||
|handle| widget::image(handle).filter_method(self.filter).into(),
|
||||
|handle| widget::image(handle).into(),
|
||||
))
|
||||
.key(self.key)
|
||||
.anticipate(500)
|
||||
.anticipate(2000)
|
||||
.on_show(|_size| Message::LoadImage(path.clone()))
|
||||
.on_hide(Message::UnloadImage(path.clone())),
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue