From e8df9bf285026ed2d79aea25e0b6e20464e0fd8f Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 11 Nov 2024 09:14:03 -0700 Subject: [PATCH] Update image crate and libcosmic --- Cargo.lock | 493 ++++++++++++++++++++++++++++++++++++++++---------- Cargo.toml | 2 +- src/app.rs | 30 +-- src/dialog.rs | 23 ++- src/tab.rs | 4 +- 5 files changed, 433 insertions(+), 119 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8d5c621..c74fbe4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,10 +153,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] -name = "allocator-api2" -version = "0.2.18" +name = "aligned-vec" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" + +[[package]] +name = "allocator-api2" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" [[package]] name = "almost" @@ -291,6 +297,17 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "arrayref" version = "0.3.9" @@ -405,8 +422,8 @@ checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.1.1", - "futures-lite 2.4.0", + "fastrand 2.2.0", + "futures-lite 2.5.0", "slab", ] @@ -418,7 +435,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.4.0", + "futures-lite 2.5.0", ] [[package]] @@ -443,18 +460,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.4.0", + "futures-lite 2.5.0", "parking", - "polling 3.7.3", - "rustix 0.38.39", + "polling 3.7.4", + "rustix 0.38.40", "slab", "tracing", "windows-sys 0.59.0", @@ -486,9 +503,9 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ - "async-io 2.3.4", + "async-io 2.4.0", "blocking", - "futures-lite 2.4.0", + "futures-lite 2.5.0", ] [[package]] @@ -504,7 +521,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.39", + "rustix 0.38.40", "windows-sys 0.48.0", ] @@ -515,15 +532,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" dependencies = [ "async-channel", - "async-io 2.3.4", + "async-io 2.4.0", "async-lock 3.4.0", "async-signal", "async-task", "blocking", "cfg-if", "event-listener 5.3.1", - "futures-lite 2.4.0", - "rustix 0.38.39", + "futures-lite 2.5.0", + "rustix 0.38.40", "tracing", ] @@ -544,13 +561,13 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io 2.3.4", + "async-io 2.4.0", "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.39", + "rustix 0.38.40", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -584,7 +601,7 @@ name = "atomicwrites" version = "0.4.2" source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768" dependencies = [ - "rustix 0.38.39", + "rustix 0.38.40", "tempfile", "windows-sys 0.48.0", ] @@ -643,6 +660,29 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "av1-grain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf" +dependencies = [ + "anyhow", + "arrayvec 0.7.6", + "log", + "nom 7.1.3", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e335041290c43101ca215eed6f43ec437eb5a42125573f600fc3fa42b9bddd62" +dependencies = [ + "arrayvec 0.7.6", +] + [[package]] name = "backtrace" version = "0.3.74" @@ -715,6 +755,12 @@ dependencies = [ "serde", ] +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + [[package]] name = "block" version = "0.1.6" @@ -748,7 +794,7 @@ dependencies = [ "async-channel", "async-task", "futures-io", - "futures-lite 2.4.0", + "futures-lite 2.5.0", "piper", ] @@ -762,6 +808,12 @@ dependencies = [ "serde", ] +[[package]] +name = "built" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b" + [[package]] name = "bumpalo" version = "3.16.0" @@ -800,6 +852,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.8.0" @@ -835,8 +893,8 @@ checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ "bitflags 2.6.0", "log", - "polling 3.7.3", - "rustix 0.38.39", + "polling 3.7.4", + "rustix 0.38.40", "slab", "thiserror", ] @@ -848,16 +906,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ "calloop", - "rustix 0.38.39", + "rustix 0.38.40", "wayland-backend", "wayland-client", ] [[package]] name = "cc" -version = "1.1.36" +version = "1.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70" +checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" dependencies = [ "jobserver", "libc", @@ -881,6 +939,16 @@ dependencies = [ "uuid", ] +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + [[package]] name = "cfg-expr" version = "0.17.0" @@ -1154,7 +1222,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1173,7 +1241,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "quote", "syn 1.0.109", @@ -1187,7 +1255,7 @@ dependencies = [ "chrono", "dirs 5.0.1", "env_logger", - "fastrand 2.1.1", + "fastrand 2.2.0", "flate2", "fork", "freedesktop_entry_parser", @@ -1200,7 +1268,7 @@ dependencies = [ "icu_collator", "icu_provider", "ignore", - "image", + "image 0.25.5", "libc", "libcosmic", "liblzma", @@ -1280,7 +1348,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "almost", "cosmic-config", @@ -1669,7 +1737,7 @@ dependencies = [ "bytemuck", "drm-ffi", "drm-fourcc", - "rustix 0.38.39", + "rustix 0.38.40", ] [[package]] @@ -1679,7 +1747,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ "drm-sys", - "rustix 0.38.39", + "rustix 0.38.40", ] [[package]] @@ -1865,9 +1933,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "fdeflate" @@ -2196,11 +2264,11 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1fa2f9765705486b33fd2acf1577f8ec449c2ba1f318ae5447697b7c08d210" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ - "fastrand 2.1.1", + "fastrand 2.2.0", "futures-core", "futures-io", "parking", @@ -2341,7 +2409,7 @@ dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps", + "system-deps 7.0.3", "windows-sys 0.52.0", ] @@ -2403,7 +2471,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a5911863ab7ecd4a6f8d5976f12eeba076b23669c49b066d877e742544aa389" dependencies = [ "libc", - "system-deps", + "system-deps 7.0.3", ] [[package]] @@ -2421,7 +2489,7 @@ dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -2454,7 +2522,7 @@ checksum = "a4c674d2ff8478cf0ec29d2be730ed779fef54415a2fb4b565c52def62696462" dependencies = [ "glib-sys", "libc", - "system-deps", + "system-deps 7.0.3", ] [[package]] @@ -2713,7 +2781,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "dnd", "iced_accessibility", @@ -2722,7 +2790,7 @@ dependencies = [ "iced_renderer", "iced_widget", "iced_winit", - "image", + "image 0.24.9", "mime 0.1.0", "thiserror", "window_clipboard", @@ -2731,7 +2799,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "accesskit", "accesskit_winit", @@ -2740,7 +2808,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "bitflags 2.6.0", "bytes", @@ -2765,7 +2833,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "futures", "iced_core", @@ -2791,7 +2859,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "bitflags 2.6.0", "bytemuck", @@ -2799,7 +2867,7 @@ dependencies = [ "half", "iced_core", "iced_futures", - "image", + "image 0.24.9", "kamadak-exif", "log", "lyon_path", @@ -2813,7 +2881,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2825,7 +2893,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "bytes", "dnd", @@ -2841,7 +2909,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "bytemuck", "cosmic-text", @@ -2857,7 +2925,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "as-raw-xcb-connection", "bitflags 2.6.0", @@ -2873,7 +2941,7 @@ dependencies = [ "raw-window-handle", "resvg", "rustc-hash 2.0.0", - "rustix 0.38.39", + "rustix 0.38.40", "smithay-client-toolkit", "thiserror", "tiny-xlib", @@ -2888,7 +2956,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "dnd", "iced_accessibility", @@ -2907,7 +2975,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "dnd", "iced_accessibility", @@ -3112,7 +3180,7 @@ dependencies = [ "globset", "log", "memchr", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "same-file", "walkdir", "winapi-util", @@ -3136,12 +3204,51 @@ dependencies = [ "tiff", ] +[[package]] +name = "image" +version = "0.25.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "exr", + "gif", + "image-webp", + "num-traits", + "png", + "qoi", + "ravif", + "rayon", + "rgb", + "tiff", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e031e8e3d94711a9ccb5d6ea357439ef3dcbed361798bd4071dc4d9793fbe22f" +dependencies = [ + "byteorder-lite", + "quick-error", +] + [[package]] name = "imagesize" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" +[[package]] +name = "imgref" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" + [[package]] name = "immutable-chunkmap" version = "2.0.6" @@ -3208,6 +3315,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "intl-memoizer" version = "0.5.2" @@ -3435,14 +3553,14 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.161" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#568ff097d67b93eef646d2f86937935438dba4dd" +source = "git+https://github.com/pop-os/libcosmic.git#3dcc47d6a7d14423fbd372a0a5ce3c7c9581dd75" dependencies = [ "apply", "ashpd 0.9.2", @@ -3467,11 +3585,11 @@ dependencies = [ "iced_winit", "lazy_static", "libc", + "license", "mime 0.3.17", - "open", "palette", "rfd", - "rustix 0.38.39", + "rustix 0.38.40", "serde", "shlex", "slotmap", @@ -3485,6 +3603,16 @@ dependencies = [ "zbus 4.4.0", ] +[[package]] +name = "libfuzzer-sys" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b9569d2f74e257076d8c6bfa73fb505b46b851e51ddaecc825944aa3bed17fa" +dependencies = [ + "arbitrary", + "cc", +] + [[package]] name = "libloading" version = "0.8.5" @@ -3532,6 +3660,17 @@ dependencies = [ "redox_syscall 0.5.7", ] +[[package]] +name = "license" +version = "3.5.1+3.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8825807237bd9fa571b99ffea06a26901b0e44692208f87e3b040a499f1504a7" +dependencies = [ + "reword", + "serde", + "serde_json", +] + [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -3597,6 +3736,15 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + [[package]] name = "lru" version = "0.12.5" @@ -3696,6 +3844,16 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.7.4" @@ -3883,6 +4041,12 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" version = "0.26.4" @@ -3929,6 +4093,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + [[package]] name = "notify" version = "6.1.1" @@ -4024,6 +4194,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "num-integer" version = "0.1.46" @@ -4632,7 +4813,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.1.1", + "fastrand 2.2.0", "futures-io", ] @@ -4673,15 +4854,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.3" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.39", + "rustix 0.38.40", "tracing", "windows-sys 0.59.0", ] @@ -4783,6 +4964,19 @@ name = "profiling" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30" +dependencies = [ + "quote", + "syn 2.0.87", +] [[package]] name = "pure-rust-locales" @@ -4799,6 +4993,12 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quick-xml" version = "0.31.0" @@ -4869,6 +5069,56 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" +[[package]] +name = "rav1e" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +dependencies = [ + "arbitrary", + "arg_enum_proc_macro", + "arrayvec 0.7.6", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "once_cell", + "paste", + "profiling", + "rand", + "rand_chacha", + "simd_helpers", + "system-deps 6.2.2", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2413fd96bd0ea5cdeeb37eaf446a22e6ed7b981d792828721e74ded1980a45c6" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -4967,7 +5217,7 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -4982,9 +5232,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -5025,6 +5275,15 @@ dependencies = [ "usvg", ] +[[package]] +name = "reword" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe272098dce9ed76b479995953f748d1851261390b08f8a0ff619c885a1f0765" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "rfd" version = "0.14.1" @@ -5153,9 +5412,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.39" +version = "0.38.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" +checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" dependencies = [ "bitflags 2.6.0", "errno", @@ -5347,6 +5606,15 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "simplecss" version = "0.2.1" @@ -5417,7 +5685,7 @@ dependencies = [ "log", "memmap2 0.9.5", "pkg-config", - "rustix 0.38.39", + "rustix 0.38.40", "thiserror", "wayland-backend", "wayland-client", @@ -5481,7 +5749,7 @@ dependencies = [ "cocoa", "core-graphics", "drm", - "fastrand 2.1.1", + "fastrand 2.2.0", "foreign-types", "js-sys", "log", @@ -5489,7 +5757,7 @@ dependencies = [ "objc", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.39", + "rustix 0.38.40", "tiny-xlib", "wasm-bindgen", "wayland-backend", @@ -5617,13 +5885,26 @@ dependencies = [ "libc", ] +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr 0.15.8", + "heck 0.5.0", + "pkg-config", + "toml 0.8.19", + "version-compare", +] + [[package]] name = "system-deps" version = "7.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66d23aaf9f331227789a99e8de4c91bf46703add012bdfd45fdecdfb2975a005" dependencies = [ - "cfg-expr", + "cfg-expr 0.17.0", "heck 0.5.0", "pkg-config", "toml 0.8.19", @@ -5677,14 +5958,14 @@ checksum = "bc1ee6eef34f12f765cb94725905c6312b6610ab2b0940889cfe58dae7bc3c72" [[package]] name = "tempfile" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", - "fastrand 2.1.1", + "fastrand 2.2.0", "once_cell", - "rustix 0.38.39", + "rustix 0.38.40", "windows-sys 0.59.0", ] @@ -5721,18 +6002,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", @@ -5868,9 +6149,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -6269,6 +6550,17 @@ dependencies = [ "log", ] +[[package]] +name = "v_frame" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + [[package]] name = "valuable" version = "0.1.0" @@ -6411,7 +6703,7 @@ checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" dependencies = [ "cc", "downcast-rs", - "rustix 0.38.39", + "rustix 0.38.40", "scoped-tls", "smallvec", "wayland-sys", @@ -6424,7 +6716,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" dependencies = [ "bitflags 2.6.0", - "rustix 0.38.39", + "rustix 0.38.40", "wayland-backend", "wayland-scanner", ] @@ -6446,7 +6738,7 @@ version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c" dependencies = [ - "rustix 0.38.39", + "rustix 0.38.40", "wayland-client", "xcursor", ] @@ -6511,7 +6803,7 @@ dependencies = [ "bitflags 2.6.0", "downcast-rs", "io-lifetimes 2.0.3", - "rustix 0.38.39", + "rustix 0.38.40", "wayland-backend", "wayland-scanner", ] @@ -7082,7 +7374,7 @@ dependencies = [ "pin-project", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.39", + "rustix 0.38.40", "sctk-adwaita", "smithay-client-toolkit", "smol_str", @@ -7154,7 +7446,7 @@ dependencies = [ "libc", "libloading", "once_cell", - "rustix 0.38.39", + "rustix 0.38.40", "x11rb-protocol", ] @@ -7172,7 +7464,7 @@ checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", "linux-raw-sys 0.4.14", - "rustix 0.38.39", + "rustix 0.38.40", ] [[package]] @@ -7336,7 +7628,7 @@ dependencies = [ "async-broadcast 0.7.1", "async-executor", "async-fs", - "async-io 2.3.4", + "async-io 2.4.0", "async-lock 3.4.0", "async-process 2.3.0", "async-recursion", @@ -7576,6 +7868,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + [[package]] name = "zune-inflate" version = "0.2.54" @@ -7585,6 +7883,15 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "zune-jpeg" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768" +dependencies = [ + "zune-core", +] + [[package]] name = "zvariant" version = "3.15.2" diff --git a/Cargo.toml b/Cargo.toml index 4c46949..0b3562f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ glob = "0.3" icu_collator = "1.5" icu_provider = { version = "1.5", features = ["sync"] } ignore = "0.4" -image = "0.24" +image = "0.25" libc = "0.2" log = "0.4" mime_guess = "2" diff --git a/src/app.rs b/src/app.rs index 37dc4a9..0e9b120 100644 --- a/src/app.rs +++ b/src/app.rs @@ -3259,7 +3259,7 @@ impl Application for App { name, archive_type, } => { - let mut dialog = widget::dialog(fl!("create-archive")); + let mut dialog = widget::dialog().title(fl!("create-archive")); let complete_maybe = if name.is_empty() { None @@ -3331,7 +3331,8 @@ impl Application for App { .spacing(space_xxs), ) } - DialogPage::EmptyTrash => widget::dialog(fl!("empty-trash")) + DialogPage::EmptyTrash => widget::dialog() + .title(fl!("empty-trash")) .body(fl!("empty-trash-warning")) .primary_action( widget::button::suggested(fl!("empty-trash")).on_press(Message::DialogComplete), @@ -3344,7 +3345,8 @@ impl Application for App { let (operation, err) = self.failed_operations.get(id)?; //TODO: nice description of error - widget::dialog("Failed operation") + widget::dialog() + .title("Failed operation") .body(format!("{:#?}\n{}", operation, err)) .icon(widget::icon::from_name("dialog-error").size(64)) //TODO: retry action @@ -3356,7 +3358,8 @@ impl Application for App { mounter_key: _, item: _, error, - } => widget::dialog(fl!("mount-error")) + } => widget::dialog() + .title(fl!("mount-error")) .body(error) .icon(widget::icon::from_name("dialog-error").size(64)) .primary_action( @@ -3451,7 +3454,8 @@ impl Application for App { let mut parts = auth.message.splitn(2, '\n'); let title = parts.next().unwrap_or_default(); let body = parts.next().unwrap_or_default(); - widget::dialog(title) + widget::dialog() + .title(title) .body(body) .control(widget::column::with_children(controls).spacing(space_s)) .primary_action( @@ -3476,7 +3480,8 @@ impl Application for App { mounter_key: _, uri: _, error, - } => widget::dialog(fl!("network-drive-error")) + } => widget::dialog() + .title(fl!("network-drive-error")) .body(error) .icon(widget::icon::from_name("dialog-error").size(64)) .primary_action( @@ -3486,7 +3491,7 @@ impl Application for App { widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), ), DialogPage::NewItem { parent, name, dir } => { - let mut dialog = widget::dialog(if *dir { + let mut dialog = widget::dialog().title(if *dir { fl!("create-new-folder") } else { fl!("create-new-file") @@ -3596,7 +3601,8 @@ impl Application for App { ); } - let mut dialog = widget::dialog(fl!("open-with-title", name = name)) + let mut dialog = widget::dialog() + .title(fl!("open-with-title", name = name)) .primary_action( widget::button::suggested(fl!("open")).on_press(Message::DialogComplete), ) @@ -3621,7 +3627,7 @@ impl Application for App { dir, } => { //TODO: combine logic with NewItem - let mut dialog = widget::dialog(if *dir { + let mut dialog = widget::dialog().title(if *dir { fl!("rename-folder") } else { fl!("rename-file") @@ -3696,7 +3702,8 @@ impl Application for App { apply_to_all, tx, } => { - let dialog = widget::dialog(fl!("replace-title", filename = to.name.as_str())) + let dialog = widget::dialog() + .title(fl!("replace-title", filename = to.name.as_str())) .body(fl!("replace-warning-operation")) .control(to.replace_view(fl!("original-file"), IconSizes::default())) .control(from.replace_view(fl!("replace-with"), IconSizes::default())) @@ -3744,7 +3751,8 @@ impl Application for App { Some(file_name) => file_name.to_str(), None => path.as_os_str().to_str(), }; - widget::dialog(fl!("set-executable-and-launch")) + widget::dialog() + .title(fl!("set-executable-and-launch")) .primary_action( widget::button::text(fl!("set-and-launch")) .class(theme::Button::Suggested) diff --git a/src/dialog.rs b/src/dialog.rs index 9ea3407..cce49c4 100644 --- a/src/dialog.rs +++ b/src/dialog.rs @@ -831,7 +831,7 @@ impl Application for App { let dialog = match dialog_page { DialogPage::NewFolder { parent, name } => { - let mut dialog = widget::dialog(fl!("create-new-folder")); + let mut dialog = widget::dialog().title(fl!("create-new-folder")); let complete_maybe = if name.is_empty() { None @@ -888,17 +888,16 @@ impl Application for App { .spacing(space_xxs), ) } - DialogPage::Replace { filename } => { - widget::dialog(fl!("replace-title", filename = filename.as_str())) - .icon(widget::icon::from_name("dialog-question").size(64)) - .body(fl!("replace-warning")) - .primary_action( - widget::button::suggested(fl!("replace")).on_press(Message::DialogComplete), - ) - .secondary_action( - widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), - ) - } + DialogPage::Replace { filename } => widget::dialog() + .title(fl!("replace-title", filename = filename.as_str())) + .icon(widget::icon::from_name("dialog-question").size(64)) + .body(fl!("replace-warning")) + .primary_action( + widget::button::suggested(fl!("replace")).on_press(Message::DialogComplete), + ) + .secondary_action( + widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), + ), }; Some(dialog.into()) diff --git a/src/tab.rs b/src/tab.rs index 89d53ac..0741ef8 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1185,7 +1185,7 @@ impl ItemThumbnail { } } else if mime.type_() == mime::IMAGE && check_size("image", 64 * 1000 * 1000) { // Try built-in image thumbnailer - match image::io::Reader::open(&path).and_then(|img| img.with_guessed_format()) { + match image::ImageReader::open(&path).and_then(|img| img.with_guessed_format()) { Ok(reader) => match reader.decode() { Ok(image) => { let thumbnail = @@ -1244,7 +1244,7 @@ impl ItemThumbnail { match command.status() { Ok(status) => { if status.success() { - match image::io::Reader::open(file.path()) + match image::ImageReader::open(file.path()) .and_then(|img| img.with_guessed_format()) { Ok(reader) => match reader.decode().map(|image| image.into_rgba8()) {