From 0defcbd253ae415cb6879f6041d5cee9a3afc5ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Sat, 13 Jan 2024 13:57:51 +0100 Subject: [PATCH] Fixes random things (#1160) * AB * More simple * Optimize even more code * Delete info * Common * Randoms * Included * ProfData * Upgrade --- .gitignore | 3 +- Cargo.lock | 847 ++++++++---------- Changelog.md | 7 +- czkawka_core/Cargo.toml | 6 +- czkawka_core/src/common.rs | 36 +- czkawka_core/src/common_cache.rs | 17 +- czkawka_core/src/common_directory.rs | 3 +- czkawka_core/src/common_items.rs | 7 +- czkawka_core/src/same_music.rs | 4 +- czkawka_gui/Cargo.toml | 4 +- .../connect_things/connect_popovers_select.rs | 4 +- krokiet/Cargo.toml | 23 +- krokiet/src/connect_delete.rs | 2 - krokiet/src/settings.rs | 16 +- krokiet/ui/included_directories.slint | 101 +++ krokiet/ui/left_side_panel.slint | 4 +- krokiet/ui/selectable_tree_view.slint | 21 +- krokiet/ui/tool_settings.slint | 2 +- 18 files changed, 577 insertions(+), 530 deletions(-) create mode 100644 krokiet/ui/included_directories.slint diff --git a/.gitignore b/.gitignore index 1a09545..384ef7e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,5 @@ ci_tester/target ci_tester/Cargo.lock krokiet/Cargo.lock krokiet/target -*.json \ No newline at end of file +*.json +*.mm_profdata \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index ebd4d95..752ac22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if", "getrandom", @@ -71,9 +71,9 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "android-activity" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052ad56e336bcc615a214bffbeca6c181ee9550acec193f0327e0b103b033a4d" +checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9" dependencies = [ "android-properties", "bitflags 2.4.1", @@ -113,9 +113,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" +checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba" dependencies = [ "anstyle", "anstyle-parse", @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "arc-swap" @@ -185,9 +185,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "as-raw-xcb-connection" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" @@ -200,11 +200,12 @@ dependencies = [ [[package]] name = "ashpd" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf" +checksum = "4ac22eda5891cc086690cb6fa10121c0390de0e3b04eb269f2d766b00d3f2d81" dependencies = [ - "async-std", + "async-fs 2.1.0", + "async-net", "enumflags2", "futures-channel", "futures-util", @@ -226,17 +227,6 @@ dependencies = [ "futures-core", ] -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "2.1.1" @@ -244,7 +234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" dependencies = [ "concurrent-queue", - "event-listener 4.0.0", + "event-listener 4.0.3", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -256,11 +246,11 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ - "async-lock 3.2.0", + "async-lock 3.3.0", "async-task", "concurrent-queue", "fastrand 2.0.1", - "futures-lite 2.1.0", + "futures-lite 2.2.0", "slab", ] @@ -277,18 +267,14 @@ dependencies = [ ] [[package]] -name = "async-global-executor" -version = "2.4.1" +name = "async-fs" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" +checksum = "dd1f344136bad34df1f83a47f3fd7f2ab85d75cb8a940af4ccf6d482a84ea01b" dependencies = [ - "async-channel 2.1.1", - "async-executor", - "async-io 2.2.2", - "async-lock 3.2.0", + "async-lock 3.3.0", "blocking", - "futures-lite 2.1.0", - "once_cell", + "futures-lite 2.2.0", ] [[package]] @@ -317,14 +303,14 @@ version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7" dependencies = [ - "async-lock 3.2.0", + "async-lock 3.3.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.2.0", "parking", "polling 3.3.1", - "rustix 0.38.28", + "rustix 0.38.30", "slab", "tracing", "windows-sys 0.52.0", @@ -341,15 +327,26 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.3", "event-listener-strategy", "pin-project-lite", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.2.2", + "blocking", + "futures-lite 2.2.0", +] + [[package]] name = "async-process" version = "1.8.1" @@ -363,7 +360,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.28", + "rustix 0.38.30", "windows-sys 0.48.0", ] @@ -375,7 +372,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -390,53 +387,27 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.28", + "rustix 0.38.30", "signal-hook-registry", "slab", "windows-sys 0.48.0", ] -[[package]] -name = "async-std" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" -dependencies = [ - "async-channel 1.9.0", - "async-global-executor", - "async-io 1.13.0", - "async-lock 2.8.0", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite 1.13.0", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - [[package]] name = "async-task" -version = "4.5.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -463,7 +434,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -474,9 +445,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" @@ -495,9 +466,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.68.1" +version = "0.69.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" +checksum = "a4c69fae65a523209d34240b60abe0c42d33d1045d445c0839d8a4894a736e2d" dependencies = [ "bitflags 2.4.1", "cexpr", @@ -512,7 +483,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.41", + "syn 2.0.48", "which", ] @@ -583,9 +554,9 @@ dependencies = [ [[package]] name = "block-sys" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dd7cf50912cddc06dc5ea7c08c5e81c1b2c842a70d19def1848d54c586fed92" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" dependencies = [ "objc-sys", ] @@ -606,12 +577,12 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ - "async-channel 2.1.1", - "async-lock 3.2.0", + "async-channel", + "async-lock 3.3.0", "async-task", "fastrand 2.0.1", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.2.0", "piper", "tracing", ] @@ -645,7 +616,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -683,9 +654,9 @@ dependencies = [ [[package]] name = "cairo-rs" -version = "0.18.3" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33613627f0dea6a731b0605101fad59ba4f193a52c96c4687728d822605a8a1" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ "bitflags 2.4.1", "cairo-sys-rs", @@ -715,7 +686,7 @@ dependencies = [ "bitflags 2.4.1", "log", "polling 3.3.1", - "rustix 0.38.28", + "rustix 0.38.30", "slab", "thiserror", ] @@ -727,7 +698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ "calloop", - "rustix 0.38.28", + "rustix 0.38.30", "wayland-backend", "wayland-client", ] @@ -779,9 +750,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.5" +version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" +checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a" dependencies = [ "smallvec", "target-lexicon", @@ -799,6 +770,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f" + [[package]] name = "cgl" version = "0.3.2" @@ -834,20 +811,20 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", - "libloading 0.7.4", + "libloading 0.8.1", ] [[package]] name = "clap" -version = "4.4.11" +version = "4.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" +checksum = "58e54881c004cec7895b0068a0a954cd5d62da01aef83fa35b1e594497bf5445" dependencies = [ "clap_builder", "clap_derive", @@ -855,9 +832,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.11" +version = "4.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" +checksum = "59cb82d7f531603d2fd1f507441cdd35184fa81beff7bd489570de7f773460bb" dependencies = [ "anstream", "anstyle", @@ -874,7 +851,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -979,8 +956,7 @@ dependencies = [ [[package]] name = "const-field-offset" version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6304465f16f463cddc572b737c3df93576edd3a6b53f057bd8beeb29f4ef8dfd" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "const-field-offset-macro", "field-offset", @@ -989,12 +965,11 @@ dependencies = [ [[package]] name = "const-field-offset-macro" version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57aaaad9185d3bcb3afe63549d8ba60b2fb0ea8dc2da83f62dd56805edf56fd1" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1104,9 +1079,9 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636" [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -1128,55 +1103,46 @@ checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" [[package]] name = "crossbeam-channel" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5" +checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.16" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", ] [[package]] name = "crossbeam-queue" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9bcf5bdbfdd6030fb4a1c497b5d5fc5921aa2f60d359a17e249c0e6df3de153" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.17" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1210,7 +1176,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" dependencies = [ "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1362,6 +1328,12 @@ dependencies = [ "parking_lot_core", ] +[[package]] +name = "data-encoding" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" + [[package]] name = "data-url" version = "0.3.1" @@ -1399,9 +1371,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", ] @@ -1438,7 +1410,7 @@ checksum = "9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1487,7 +1459,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1526,15 +1498,15 @@ dependencies = [ [[package]] name = "drm" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ "bitflags 2.4.1", "bytemuck", - "drm-ffi 0.6.0", + "drm-ffi 0.7.1", "drm-fourcc", - "nix 0.27.1", + "rustix 0.38.30", ] [[package]] @@ -1549,12 +1521,12 @@ dependencies = [ [[package]] name = "drm-ffi" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7d1c19c4b6270e89d59fb27dc6d02a317c658a8a54e54781e1db9b5947595d" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ - "drm-sys 0.5.0", - "nix 0.27.1", + "drm-sys 0.6.1", + "rustix 0.38.30", ] [[package]] @@ -1574,9 +1546,13 @@ dependencies = [ [[package]] name = "drm-sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a4f1c0468062a56cd5705f1e3b5409eb286d5596a2028ec8e947595d7e715ae" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.3", +] [[package]] name = "dwrote" @@ -1625,18 +1601,18 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "enumn" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b" +checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1683,9 +1659,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.0" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" dependencies = [ "concurrent-queue", "parking", @@ -1698,7 +1674,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.3", "pin-project-lite", ] @@ -1755,18 +1731,18 @@ dependencies = [ [[package]] name = "fdeflate" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" +checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd" dependencies = [ "simd-adler32", ] [[package]] name = "femtovg" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d900654f23fe7c254442e1902e22dff2c3facf61bc0fb6531cc103b66467864e" +checksum = "19df4b4c86231086212f22513ccfdbce94a1e1270d1cb09c030bd39fd73f3ee4" dependencies = [ "bitflags 2.4.1", "fnv", @@ -1964,7 +1940,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -2019,24 +1995,24 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2045,9 +2021,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" @@ -2066,9 +2042,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" dependencies = [ "fastrand 2.0.1", "futures-core", @@ -2079,32 +2055,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-io", @@ -2141,9 +2117,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.18.3" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446f32b74d22c33b7b258d4af4ffde53c2bf96ca2e29abdf1a785fe59bd6c82c" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" dependencies = [ "gdk-pixbuf-sys", "gio", @@ -2240,10 +2216,20 @@ dependencies = [ ] [[package]] -name = "getrandom" -version = "0.2.11" +name = "gethostname" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "js-sys", @@ -2307,9 +2293,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.18.4" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "951bbd7fdc5c044ede9f05170f05a3ae9479239c3afdfe2d22d537a3add15c4e" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ "bitflags 2.4.1", "futures-channel", @@ -2330,16 +2316,16 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.18.3" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" dependencies = [ "heck", "proc-macro-crate 2.0.0", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -2368,18 +2354,6 @@ dependencies = [ "tuple", ] -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "glow" version = "0.13.0" @@ -2394,12 +2368,12 @@ dependencies = [ [[package]] name = "glutin" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca18d477e18c996c1fd1a50e04c6a745b67e2d512c7fb51f2757d9486a0e3ee" +checksum = "005459a22af86adc706522d78d360101118e2638ec21df3852fcc626e0dbb212" dependencies = [ "bitflags 2.4.1", - "cfg_aliases", + "cfg_aliases 0.1.1", "cgl", "core-foundation", "dispatch", @@ -2410,7 +2384,7 @@ dependencies = [ "libloading 0.8.1", "objc2", "once_cell", - "raw-window-handle 0.5.2", + "raw-window-handle", "wayland-sys", "windows-sys 0.48.0", "x11-dl", @@ -2422,9 +2396,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735" dependencies = [ - "cfg_aliases", + "cfg_aliases 0.1.1", "glutin", - "raw-window-handle 0.5.2", + "raw-window-handle", "winit", ] @@ -2677,9 +2651,8 @@ dependencies = [ [[package]] name = "i-slint-backend-linuxkms" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d0c47573bf4fb9ffbab394464e51b564465e83e5860d4269e78f6c08cd4be9" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "calloop", "drm 0.9.0", @@ -2690,18 +2663,16 @@ dependencies = [ "i-slint-renderer-femtovg", "i-slint-renderer-skia", "input", - "libseat", "nix 0.27.1", - "raw-window-handle 0.5.2", + "raw-window-handle", "vulkano", "xkbcommon", ] [[package]] name = "i-slint-backend-selector" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074d3ca24790f1be67e969c86356483cf9bef58ca77ef5d0a8051d25ddddc601" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "cfg-if", "i-slint-backend-linuxkms", @@ -2713,13 +2684,12 @@ dependencies = [ [[package]] name = "i-slint-backend-winit" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "565ece613df99476e516a8a3c853269795fc06b553f66ed0a8f7159d4cb5c975" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "bytemuck", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.2.0", "cocoa", "const-field-offset", "copypasta", @@ -2735,7 +2705,7 @@ dependencies = [ "lyon_path", "once_cell", "pin-weak", - "raw-window-handle 0.5.2", + "raw-window-handle", "rgb", "scoped-tls-hkt", "scopeguard", @@ -2749,9 +2719,8 @@ dependencies = [ [[package]] name = "i-slint-common" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6666bf1b9c3140d426071dda1af839ce46c0f482f3513eecf700609f0cd43865" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "cfg-if", "derive_more", @@ -2761,9 +2730,8 @@ dependencies = [ [[package]] name = "i-slint-compiler" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27248681505254959a803253f3c8539b66412c14654d2dc905be869a7ff20159" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "by_address", "codemap", @@ -2791,9 +2759,8 @@ dependencies = [ [[package]] name = "i-slint-core" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462a3ca4e929f66d39a00436257baa5a4fb3e287c16675f2219757b67b2dad94" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "auto_enums", "bytemuck", @@ -2835,19 +2802,17 @@ dependencies = [ [[package]] name = "i-slint-core-macros" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9148dba9642f055cdda5060f2e82be4a4c1c4a046ea1d08970e9279220b7ed13" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "i-slint-renderer-femtovg" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e3d130c56f63fa13ec909ba868af84f2e763ff177f5c00857a91e61e65bb55" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "cfg-if", "const-field-offset", @@ -2864,7 +2829,7 @@ dependencies = [ "lyon_path", "once_cell", "pin-weak", - "raw-window-handle 0.5.2", + "raw-window-handle", "rgb", "scoped-tls-hkt", "ttf-parser 0.20.0", @@ -2878,14 +2843,13 @@ dependencies = [ [[package]] name = "i-slint-renderer-skia" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb23ce40a535a99e735a5b5be696a9aaf0b67a84287c0857f01dd29b2d62fb2" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "ash", "bytemuck", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.2.0", "cocoa", "const-field-offset", "core-foundation", @@ -2902,7 +2866,7 @@ dependencies = [ "objc", "once_cell", "pin-weak", - "raw-window-handle 0.5.2", + "raw-window-handle", "scoped-tls-hkt", "skia-safe", "softbuffer", @@ -2966,7 +2930,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.41", + "syn 2.0.48", "unic-langid", ] @@ -2980,14 +2944,14 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3301,9 +3265,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" dependencies = [ "wasm-bindgen", ] @@ -3351,15 +3315,6 @@ dependencies = [ "arrayvec", ] -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - [[package]] name = "lazy-bytes-cast" version = "5.0.1" @@ -3386,9 +3341,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libflate" @@ -3501,26 +3456,6 @@ dependencies = [ "redox_syscall 0.4.1", ] -[[package]] -name = "libseat" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a0adf8d8607a73a5b74cbe4132f57cb349e4bf860103cd089461bbcbc9907e" -dependencies = [ - "errno", - "libseat-sys", - "log", -] - -[[package]] -name = "libseat-sys" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3671cb5e03871f1d6bf0b3b5daa9275549e348fa6359e0f9adb910ca163d4c34" -dependencies = [ - "pkg-config", -] - [[package]] name = "libudev-sys" version = "0.1.4" @@ -3558,6 +3493,12 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +[[package]] +name = "linux-raw-sys" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ab96045f1fabcc9fe043d9cb6900c5e1cba5c13f6aaa3d2295b496661924464" + [[package]] name = "locale_config" version = "0.3.0" @@ -3583,17 +3524,16 @@ dependencies = [ [[package]] name = "lofty" -version = "0.17.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d514acc39ec2bee7392e451db35e5f5eb06ab26e1cae83746c3017e8c95099" +checksum = "f4c7b592b0deed44e1633b140464af992a15c4045c83e28f2e558c3cc06f50b6" dependencies = [ - "base64", "byteorder", + "data-encoding", "flate2", "lofty_attr", "log", "ogg_pager", - "once_cell", "paste", ] @@ -3605,7 +3545,7 @@ checksum = "764b60e1ddd07e5665a6a17636a95cd7d8f3b86c73503a69c32979d05f72f3cf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -3613,9 +3553,6 @@ name = "log" version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" -dependencies = [ - "value-bag", -] [[package]] name = "loom" @@ -3659,9 +3596,9 @@ dependencies = [ [[package]] name = "lyon_geom" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad" +checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9" dependencies = [ "arrayvec", "euclid", @@ -3704,9 +3641,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memmap2" @@ -3719,9 +3656,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f850157af41022bbb1b04ed15c011ce4d59520be82a4e3718b10c34b02cb85e" +checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92" dependencies = [ "libc", ] @@ -3820,8 +3757,7 @@ dependencies = [ "log", "ndk-sys", "num_enum", - "raw-window-handle 0.5.2", - "raw-window-handle 0.6.0", + "raw-window-handle", "thiserror", ] @@ -3934,23 +3870,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.0.0", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -4025,9 +3961,9 @@ dependencies = [ [[package]] name = "ogg_pager" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d218a406e5de88e1c492d0162d569916f7436efe851ba5cc40a4bf4fa97cb40" +checksum = "c949d63b387b25c332f6e39d1762dd4b405008289dd7681f02c258b1294653ca" dependencies = [ "byteorder", ] @@ -4260,7 +4196,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -4294,9 +4230,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "png" @@ -4336,7 +4272,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix 0.38.28", + "rustix 0.38.30", "tracing", "windows-sys 0.52.0", ] @@ -4370,12 +4306,12 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -4406,6 +4342,15 @@ dependencies = [ "toml_edit 0.20.7", ] +[[package]] +name = "proc-macro-crate" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b2685dd208a3771337d8d386a89840f0f43cd68be8dae90a5f8c2384effc9cd" +dependencies = [ + "toml_edit 0.21.0", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -4432,9 +4377,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] @@ -4459,9 +4404,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -4502,12 +4447,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" -[[package]] -name = "raw-window-handle" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" - [[package]] name = "rawloader" version = "0.37.1" @@ -4662,7 +4601,7 @@ dependencies = [ "objc-foundation", "objc_id", "pollster", - "raw-window-handle 0.5.2", + "raw-window-handle", "urlencoding", "wasm-bindgen", "wasm-bindgen-futures", @@ -4735,9 +4674,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "810294a8a4a0853d4118e3b94bb079905f2107c7fe979d8f0faae98765eb6378" +checksum = "a82c0bbc10308ed323529fd3c1dce8badda635aa319a5ff0e6466f33b8101e3f" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -4746,22 +4685,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc144a1273124a67b8c1d7cd19f5695d1878b31569c0512f6086f0f4676604e" +checksum = "6227c01b1783cdfee1bcf844eb44594cd16ec71c35305bf1c9fb5aade2735e16" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.41", + "syn 2.0.48", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816ccd4875431253d6bb54b804bcff4369cbde9bae33defde25fdf6c2ef91d40" +checksum = "8cb0a25bfbb2d4b4402179c2cf030387d9990857ce08a32592c6238db9fa8665" dependencies = [ "sha2", "walkdir", @@ -4845,9 +4784,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ "bitflags 2.4.1", "errno", @@ -4971,13 +4910,13 @@ dependencies = [ [[package]] name = "sctk-adwaita" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729a30a469de249c6effc17ec8d039b0aa29b3af79b819b7f51cb6ab8046a90" +checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550" dependencies = [ "ab_glyph", "log", - "memmap2 0.9.1", + "memmap2 0.9.3", "smithay-client-toolkit", "tiny-skia", ] @@ -4988,20 +4927,20 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d" dependencies = [ - "self_cell 1.0.2", + "self_cell 1.0.3", ] [[package]] name = "self_cell" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6" +checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" [[package]] name = "send_wrapper" @@ -5011,29 +4950,29 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" dependencies = [ "itoa", "ryu", @@ -5042,20 +4981,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" +checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -5141,9 +5080,9 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "skia-bindings" -version = "0.68.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0af1b86d01552a56d70b515e2bc1af9123acffcc679a7410010e2648f59fbec3" +checksum = "8b4b5af96ee7d895763fa606f4531fddfb11de034217edd0c7beb9ea181efe5b" dependencies = [ "bindgen", "cc", @@ -5159,9 +5098,9 @@ dependencies = [ [[package]] name = "skia-safe" -version = "0.68.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed678303df69daf5b666faf477800ff7fcb7b67316b10a94c31d748d42dd5a83" +checksum = "4a3d25acaedea0a8ed1dac52f383fc90276f5679a68e3f84c5fb7f7bde8934ff" dependencies = [ "bitflags 2.4.1", "lazy_static", @@ -5181,9 +5120,8 @@ dependencies = [ [[package]] name = "slint" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39bf2b4e9a979d7a191d5e71728c1d15f8af8049f44208cb337126c17474f166" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "const-field-offset", "i-slint-backend-selector", @@ -5198,9 +5136,8 @@ dependencies = [ [[package]] name = "slint-build" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc96ba4cee939fb4015c213309fcdfe83178730766dbb5fb643d5938030d63e7" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "i-slint-compiler", "spin_on", @@ -5210,9 +5147,8 @@ dependencies = [ [[package]] name = "slint-macros" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f6e88032ed51af2445d1b317af16778348566ddc5b397fc4e5bb1bb6b358976" +version = "1.4.0" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "i-slint-compiler", "proc-macro2", @@ -5247,8 +5183,8 @@ dependencies = [ "cursor-icon", "libc", "log", - "memmap2 0.9.1", - "rustix 0.38.28", + "memmap2 0.9.3", + "rustix 0.38.30", "thiserror", "wayland-backend", "wayland-client", @@ -5314,25 +5250,25 @@ dependencies = [ [[package]] name = "softbuffer" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826da2ead8e85d1b4ea579fae3d58ec10c81a77d61deab8918c4a4f7514b2948" +checksum = "f266ce2aa23eaaaa4e758ed44495d505d00fb79f359d46f6c1900cb053123b62" dependencies = [ "as-raw-xcb-connection", "bytemuck", - "cfg_aliases", + "cfg_aliases 0.1.1", "cocoa", "core-graphics", - "drm 0.10.0", + "drm 0.11.1", "fastrand 2.0.1", "foreign-types", "js-sys", "log", - "memmap2 0.9.1", + "memmap2 0.9.3", "objc", - "raw-window-handle 0.5.2", + "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.28", + "rustix 0.38.30", "tiny-xlib", "wasm-bindgen", "wayland-backend", @@ -5340,7 +5276,7 @@ dependencies = [ "wayland-sys", "web-sys", "windows-sys 0.48.0", - "x11rb", + "x11rb 0.12.0", ] [[package]] @@ -5433,7 +5369,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -5648,9 +5584,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.41" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -5683,28 +5619,28 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", "fastrand 2.0.1", "redox_syscall 0.4.1", - "rustix 0.38.28", - "windows-sys 0.48.0", + "rustix 0.38.30", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -5717,22 +5653,22 @@ checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" [[package]] name = "thiserror" -version = "1.0.51" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.51" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -5758,9 +5694,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", "itoa", @@ -5780,9 +5716,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" dependencies = [ "time-core", ] @@ -5933,7 +5869,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -5987,9 +5923,9 @@ dependencies = [ [[package]] name = "trash" -version = "3.1.2" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c646008e5144d988005bec12b1e56f5e0a951e957176686815eba8b025e0418" +checksum = "6e7b1a28f9550f43ac27987f2144d7798520c6dee6a7eb1dedfe3131e3c257e3" dependencies = [ "chrono", "libc", @@ -6285,12 +6221,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "value-bag" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72e1902dde2bd6441347de2b70b7f5d59bf157c6c62f0c44572607a1d55bbe" - [[package]] name = "version-compare" version = "0.1.1" @@ -6332,8 +6262,7 @@ dependencies = [ [[package]] name = "vtable" version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f4c7506238561777a1861d3dc3c0001877c475187e7bc4392ea87ebf631fd9c" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "const-field-offset", "portable-atomic", @@ -6344,12 +6273,11 @@ dependencies = [ [[package]] name = "vtable-macro" version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b2b8eecdb8e4284adf5546fc518f048f6dc33e7203dbe36fa93a4add39b31f6" +source = "git+https://github.com/slint-ui/slint.git#ff2bf6849e2d6325db1650ebe3dc96137573d272" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -6372,7 +6300,7 @@ dependencies = [ "parking_lot", "proc-macro2", "quote", - "raw-window-handle 0.5.2", + "raw-window-handle", "regex", "serde", "serde_json", @@ -6405,9 +6333,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -6415,24 +6343,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" dependencies = [ "cfg-if", "js-sys", @@ -6442,9 +6370,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6452,22 +6380,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" [[package]] name = "wayland-backend" @@ -6580,9 +6508,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" dependencies = [ "js-sys", "wasm-bindgen", @@ -6590,9 +6518,9 @@ dependencies = [ [[package]] name = "web-time" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57099a701fb3a8043f993e8228dc24229c7b942e2b009a1b962e54489ba1d3bf" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" dependencies = [ "js-sys", "wasm-bindgen", @@ -6619,7 +6547,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.28", + "rustix 0.38.30", ] [[package]] @@ -6682,11 +6610,11 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -6889,9 +6817,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winit" -version = "0.29.4" +version = "0.29.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25d662bb83b511acd839534bb2d88521b0bbc81440969cb077d23c4db9e62c7" +checksum = "c2376dab13e09c01ad8b679f0dbc7038af4ec43d9a91344338e37bd686481550" dependencies = [ "ahash", "android-activity", @@ -6899,7 +6827,7 @@ dependencies = [ "bitflags 2.4.1", "bytemuck", "calloop", - "cfg_aliases", + "cfg_aliases 0.1.1", "core-foundation", "core-graphics", "cursor-icon", @@ -6907,16 +6835,16 @@ dependencies = [ "js-sys", "libc", "log", - "memmap2 0.9.1", + "memmap2 0.9.3", "ndk", "ndk-sys", "objc2", "once_cell", "orbclient", "percent-encoding", - "raw-window-handle 0.5.2", + "raw-window-handle", "redox_syscall 0.3.5", - "rustix 0.38.28", + "rustix 0.38.30", "sctk-adwaita", "smithay-client-toolkit", "smol_str", @@ -6931,15 +6859,15 @@ dependencies = [ "web-time", "windows-sys 0.48.0", "x11-dl", - "x11rb", + "x11rb 0.13.0", "xkbcommon-dl", ] [[package]] name = "winnow" -version = "0.5.28" +version = "0.5.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" +checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" dependencies = [ "memchr", ] @@ -6959,7 +6887,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b41aca1115b1f195f21c541c5efb423470848d48143127d0f07f8b90c27440df" dependencies = [ - "x11rb", + "x11rb 0.12.0", ] [[package]] @@ -6980,14 +6908,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" dependencies = [ "as-raw-xcb-connection", - "gethostname", + "gethostname 0.3.0", "libc", "libloading 0.7.4", "nix 0.26.4", "once_cell", "winapi", "winapi-wsapoll", - "x11rb-protocol", + "x11rb-protocol 0.12.0", +] + +[[package]] +name = "x11rb" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" +dependencies = [ + "as-raw-xcb-connection", + "gethostname 0.4.3", + "libc", + "libloading 0.8.1", + "once_cell", + "rustix 0.38.30", + "x11rb-protocol 0.13.0", ] [[package]] @@ -7000,14 +6943,20 @@ dependencies = [ ] [[package]] -name = "xattr" -version = "1.1.3" +name = "x11rb-protocol" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dae5072fe1f8db8f8d29059189ac175196e410e40ba42d5d4684ae2f750995" +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" + +[[package]] +name = "xattr" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1" dependencies = [ "libc", "linux-raw-sys 0.4.12", - "rustix 0.38.28", + "rustix 0.38.30", ] [[package]] @@ -7076,9 +7025,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" [[package]] name = "xxhash-rust" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b" +checksum = "53be06678ed9e83edb1745eb72efc0bbcd7b5c3c35711a860906aed827a13d61" [[package]] name = "yaml-rust" @@ -7097,7 +7046,7 @@ checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" dependencies = [ "async-broadcast", "async-executor", - "async-fs", + "async-fs 1.6.0", "async-io 1.13.0", "async-lock 2.8.0", "async-process", @@ -7157,22 +7106,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.31" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.31" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] diff --git a/Changelog.md b/Changelog.md index 75b1714..84804f5 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,4 +1,8 @@ ## Version 7.0.0 - ? +### BREAKING CHANGES +- Reducing size of cache files, made old cache files incompatible with new version +- `-C` in CLI now saves as compact json + ### GTK GUI - Added drag&drop support for included/excluded folders - [#1106](https://github.com/qarmin/czkawka/pull/1106) - Added information where are saved scan results - [#1102](https://github.com/qarmin/czkawka/pull/1102) @@ -23,6 +27,7 @@ - Fixed recognizing not accessible folders as non-empty - [#1152](https://github.com/qarmin/czkawka/pull/1152) - Unifying code for collecting files to scan - [#1159](https://github.com/qarmin/czkawka/pull/1159) - Decrease memory usage when collecting files by removing unused fields in custom file entries structs - [#1159](https://github.com/qarmin/czkawka/pull/1159) +- Decrease a little size of cache by few percents and improve loading/saving speed - [#1159](https://github.com/qarmin/czkawka/pull/1159) ## Version 6.1.0 - 15.10.2023r - BREAKING CHANGE - Changed cache saving method, deduplicated, optimized and simplified procedure(all files needs to be hashed again) - [#1072](https://github.com/qarmin/czkawka/pull/1072), [#1086](https://github.com/qarmin/czkawka/pull/1086) @@ -171,7 +176,7 @@ ## Version 3.2.0 - 07.08.2021r - Use checkbox instead selection to select files [#392](https://github.com/qarmin/czkawka/pull/392) - Re-enable hardlink on windows - [#410](https://github.com/qarmin/czkawka/pull/410) -- Fix symlink and harlink creating - [#409](https://github.com/qarmin/czkawka/pull/409) +- Fix symlink and hardlink creating - [#409](https://github.com/qarmin/czkawka/pull/409) - Add image preview to duplicate finder [#408](https://github.com/qarmin/czkawka/pull/408) - Add setting maximum file size [#407](https://github.com/qarmin/czkawka/pull/407) - Add new grouping algorithm to similar images [#405](https://github.com/qarmin/czkawka/pull/405) diff --git a/czkawka_core/Cargo.toml b/czkawka_core/Cargo.toml index 625c1c7..7e41d1e 100644 --- a/czkawka_core/Cargo.toml +++ b/czkawka_core/Cargo.toml @@ -26,7 +26,7 @@ hamming = "0.1" # Needed by same music bitflags = "2.4" -lofty = "0.17" +lofty = "0.18" # Needed by broken files zip = { version = "0.6", features = ["aes-crypto", "bzip2", "deflate", "time"], default-features = false } @@ -42,7 +42,7 @@ blake3 = "1.5" crc32fast = "1.3" xxhash-rust = { version = "0.8", features = ["xxh3"] } -tempfile = "3.8" +tempfile = "3.9" # Video Duplicates vid_dup_finder_lib = "0.1" @@ -56,7 +56,7 @@ serde_json = "1.0" # Language i18n-embed = { version = "0.14", features = ["fluent-system", "desktop-requester"] } i18n-embed-fl = "0.7" -rust-embed = { version = "8.1", features = ["debug-embed"] } +rust-embed = { version = "8.2", features = ["debug-embed"] } once_cell = "1.19" # Raw image files diff --git a/czkawka_core/src/common.rs b/czkawka_core/src/common.rs index 8c2f961..daa0919 100644 --- a/czkawka_core/src/common.rs +++ b/czkawka_core/src/common.rs @@ -331,40 +331,21 @@ pub fn split_path(path: &Path) -> (String, String) { } pub fn split_path_compare(path_a: &Path, path_b: &Path) -> Ordering { - let parent_dir_a = path_a.parent(); - let parent_dir_b = path_b.parent(); - if parent_dir_a.is_none() || parent_dir_b.is_none() { - let file_name_a = path_a.file_name(); - let file_name_b = path_b.file_name(); - if file_name_a.is_none() || file_name_b.is_none() { - return Ordering::Equal; - } - - return if file_name_a > file_name_b { Ordering::Greater } else { Ordering::Less }; - } - if parent_dir_a > parent_dir_b { - Ordering::Greater - } else { - Ordering::Less + match path_a.parent().cmp(&path_b.parent()) { + Ordering::Equal => path_a.file_name().cmp(&path_b.file_name()), + other => other, } } pub fn create_crash_message(library_name: &str, file_path: &str, home_library_url: &str) -> String { - format!("{library_name} library crashed when opening \"{file_path}\", please check if this is fixed with the latest version of {library_name} (e.g. with https://github.com/qarmin/crates_tester) and if it is not fixed, please report bug here - {home_library_url}") + format!("{library_name} library crashed when opening \"{file_path}\", please check if this is fixed with the latest version of {library_name} and if it is not fixed, please report bug here - {home_library_url}") } -pub fn regex_check(expression_item: &SingleExcludedItem, directory: impl AsRef) -> bool { - if expression_item.expression == "*" { +pub fn regex_check(expression_item: &SingleExcludedItem, directory_name: &str) -> bool { + if expression_item.expression_splits.is_empty() { return true; } - if expression_item.expression_splits.is_empty() { - return false; - } - - // Get rid of non unicode characters - let directory_name = directory.as_ref().to_string_lossy(); - // Early checking if directory contains all parts needed by expression for split in &expression_item.unique_extensions_splits { if !directory_name.contains(split) { @@ -481,7 +462,7 @@ where infos.push(format!( "dry_run - would create hardlink from {:?} to {:?}", original_file.get_path(), - original_file.get_path() + file_entry.get_path() )); } else { if dry_run { @@ -519,7 +500,7 @@ where if dry_run { infos.push(format!("dry_run - would delete file: {:?}", i.get_path())); } else { - if let Err(e) = std::fs::remove_file(i.get_path()) { + if let Err(e) = fs::remove_file(i.get_path()) { errors.push(format!("Cannot delete file: {:?} - {e}", i.get_path())); failed_to_remove_files += 1; } else { @@ -661,6 +642,7 @@ mod test { #[test] fn test_regex() { + assert!(regex_check(&new_excluded_item("*"), "/home/rafal")); assert!(regex_check(&new_excluded_item("*home*"), "/home/rafal")); assert!(regex_check(&new_excluded_item("*home"), "/home")); assert!(regex_check(&new_excluded_item("*home/"), "/home/")); diff --git a/czkawka_core/src/common_cache.rs b/czkawka_core/src/common_cache.rs index 5260c24..c69ba7a 100644 --- a/czkawka_core/src/common_cache.rs +++ b/czkawka_core/src/common_cache.rs @@ -12,33 +12,34 @@ use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; use std::io::{BufReader, BufWriter}; +const CACHE_VERSION: &str = "70"; + pub fn get_broken_files_cache_file() -> String { - "cache_broken_files_61.bin".to_string() + format!("cache_broken_files_{CACHE_VERSION}.bin") } pub fn get_similar_images_cache_file(hash_size: &u8, hash_alg: &HashAlg, image_filter: &FilterType) -> String { format!( - "cache_similar_images_{}_{}_{}_61.bin", - hash_size, + "cache_similar_images_{hash_size}_{}_{}_{CACHE_VERSION}.bin", convert_algorithm_to_string(hash_alg), convert_filters_to_string(image_filter), ) } pub fn get_similar_videos_cache_file() -> String { - "cache_similar_videos_61.bin".to_string() + format!("cache_similar_videos_{CACHE_VERSION}.bin") } -pub fn get_similar_music_cache_file(checking_tags: bool) -> &'static str { +pub fn get_similar_music_cache_file(checking_tags: bool) -> String { if checking_tags { - "cache_same_music_tags_61.bin" + format!("cache_same_music_tags_{CACHE_VERSION}.bin") } else { - "cache_same_music_fingerprints_61.bin" + format!("cache_same_music_fingerprints_{CACHE_VERSION}.bin") } } pub fn get_duplicate_cache_file(type_of_hash: &HashType, is_prehash: bool) -> String { let prehash_str = if is_prehash { "_prehash" } else { "" }; - format!("cache_duplicates_{type_of_hash:?}{prehash_str}_61.bin") + format!("cache_duplicates_{type_of_hash:?}{prehash_str}_{CACHE_VERSION}.bin") } #[fun_time(message = "save_cache_to_file_generalized", level = "debug")] diff --git a/czkawka_core/src/common_directory.rs b/czkawka_core/src/common_directory.rs index f1a78b4..732bd07 100644 --- a/czkawka_core/src/common_directory.rs +++ b/czkawka_core/src/common_directory.rs @@ -305,8 +305,7 @@ impl Directories { self.reference_directories.iter().any(|e| path.starts_with(e)) } - pub fn is_excluded(&self, path: impl AsRef) -> bool { - let path = path.as_ref(); + pub fn is_excluded(&self, path: &Path) -> bool { #[cfg(target_family = "windows")] let path = normalize_windows_path(path); // We're assuming that `excluded_directories` are already normalized diff --git a/czkawka_core/src/common_items.rs b/czkawka_core/src/common_items.rs index cd61c9b..6d3b6eb 100644 --- a/czkawka_core/src/common_items.rs +++ b/czkawka_core/src/common_items.rs @@ -85,15 +85,17 @@ impl ExcludedItems { pub fn get_excluded_items(&self) -> &Vec { &self.expressions } - pub fn is_excluded(&self, path: impl AsRef) -> bool { + pub fn is_excluded(&self, path: &Path) -> bool { if self.connected_expressions.is_empty() { return false; } #[cfg(target_family = "windows")] let path = normalize_windows_path(path); + let path_str = path.to_string_lossy(); + for expression in &self.connected_expressions { - if regex_check(expression, &path) { + if regex_check(expression, &path_str) { return true; } } @@ -107,6 +109,7 @@ pub fn new_excluded_item(expression: &str) -> SingleExcludedItem { let mut unique_extensions_splits = expression_splits.clone(); unique_extensions_splits.sort(); unique_extensions_splits.dedup(); + unique_extensions_splits.sort_by_key(|b| std::cmp::Reverse(b.len())); SingleExcludedItem { expression, expression_splits, diff --git a/czkawka_core/src/same_music.rs b/czkawka_core/src/same_music.rs index 62f9cdc..ba0a1f2 100644 --- a/czkawka_core/src/same_music.rs +++ b/czkawka_core/src/same_music.rs @@ -222,7 +222,7 @@ impl SameMusic { if self.common_data.use_cache { let (messages, loaded_items) = - load_cache_from_file_generalized_by_path::(get_similar_music_cache_file(checking_tags), self.get_delete_outdated_cache(), &self.music_to_check); + load_cache_from_file_generalized_by_path::(&get_similar_music_cache_file(checking_tags), self.get_delete_outdated_cache(), &self.music_to_check); self.get_text_messages_mut().extend_with_another_messages(messages); loaded_hash_map = loaded_items.unwrap_or_default(); @@ -260,7 +260,7 @@ impl SameMusic { all_results.insert(file_entry.path.to_string_lossy().to_string(), file_entry); } - let messages = save_cache_to_file_generalized(get_similar_music_cache_file(checking_tags), &all_results, self.common_data.save_also_as_json, 0); + let messages = save_cache_to_file_generalized(&get_similar_music_cache_file(checking_tags), &all_results, self.common_data.save_also_as_json, 0); self.get_text_messages_mut().extend_with_another_messages(messages); } diff --git a/czkawka_gui/Cargo.toml b/czkawka_gui/Cargo.toml index ef1b8e7..4455e03 100644 --- a/czkawka_gui/Cargo.toml +++ b/czkawka_gui/Cargo.toml @@ -36,7 +36,7 @@ regex = "1.10" image_hasher = "1.2" # Move files to trash -trash = "3.1" +trash = "3.2" # For moving files(why std::fs doesn't have such features?) fs_extra = "1.3" @@ -44,7 +44,7 @@ fs_extra = "1.3" # Language i18n-embed = { version = "0.14", features = ["fluent-system", "desktop-requester"] } i18n-embed-fl = "0.7" -rust-embed = { version = "8.1", features = ["debug-embed"] } +rust-embed = { version = "8.2", features = ["debug-embed"] } once_cell = "1.19" log = "0.4.20" diff --git a/czkawka_gui/src/connect_things/connect_popovers_select.rs b/czkawka_gui/src/connect_things/connect_popovers_select.rs index 70dda54..ea89863 100644 --- a/czkawka_gui/src/connect_things/connect_popovers_select.rs +++ b/czkawka_gui/src/connect_things/connect_popovers_select.rs @@ -450,7 +450,7 @@ fn popover_custom_select_unselect( need_to_change_thing = true; } } else { - if regex_check(&name_wildcard_lowercase_excluded, name.to_lowercase()) { + if regex_check(&name_wildcard_lowercase_excluded, &name.to_lowercase()) { need_to_change_thing = true; } } @@ -461,7 +461,7 @@ fn popover_custom_select_unselect( need_to_change_thing = true; } } else { - if regex_check(&path_wildcard_lowercase_excluded, path.to_lowercase()) { + if regex_check(&path_wildcard_lowercase_excluded, &path.to_lowercase()) { need_to_change_thing = true; } } diff --git a/krokiet/Cargo.toml b/krokiet/Cargo.toml index bbd260e..405ae32 100644 --- a/krokiet/Cargo.toml +++ b/krokiet/Cargo.toml @@ -11,15 +11,6 @@ repository = "https://github.com/qarmin/czkawka" build = "build.rs" [dependencies] -# Try to use only needed features from https://github.com/slint-ui/slint/blob/master/api/rs/slint/Cargo.toml#L23-L31 -#slint = { path = "/home/rafal/test/slint/api/rs/slint/", default-features = false, features = ["std", -#slint = { git = "https://github.com/slint-ui/slint.git", default-features = false, features = [ -slint = { version = "1.3", default-features = false, features = [ - "std", - "backend-winit", - "compat-1-2" -] } - rand = "0.8" czkawka_core = { version = "6.1.0", path = "../czkawka_core" } chrono = "0.4.31" @@ -40,13 +31,21 @@ rayon = "1.8.0" # Translations i18n-embed = { version = "0.14", features = ["fluent-system", "desktop-requester"] } i18n-embed-fl = "0.7" -rust-embed = { version = "8.1", features = ["debug-embed"] } +rust-embed = { version = "8.2", features = ["debug-embed"] } once_cell = "1.19" +# Try to use only needed features from https://github.com/slint-ui/slint/blob/master/api/rs/slint/Cargo.toml#L23-L31 +#slint = { path = "/home/rafal/test/slint/api/rs/slint/", default-features = false, features = ["std", +slint = { git = "https://github.com/slint-ui/slint.git", default-features = false, features = [ +# slint = { version = "1.3", default-features = false, features = [ + "std", + "backend-winit", + "compat-1-2" +] } [build-dependencies] -slint-build = "1.3" -#slint-build = { git = "https://github.com/slint-ui/slint.git" } #slint-build = { path = "/home/rafal/test/slint/api/rs/build/"} +slint-build = { git = "https://github.com/slint-ui/slint.git" } +# slint-build = "1.3" [features] default = ["winit_femtovg", "winit_software"] diff --git a/krokiet/src/connect_delete.rs b/krokiet/src/connect_delete.rs index b278be5..1df2c85 100644 --- a/krokiet/src/connect_delete.rs +++ b/krokiet/src/connect_delete.rs @@ -3,7 +3,6 @@ use slint::{ComponentHandle, Model, ModelRc, VecModel}; use crate::common::{get_is_header_mode, get_name_idx, get_path_idx}; use crate::{Callabler, CurrentTab, GuiState, MainListModel, MainWindow}; use czkawka_core::common::{remove_folder_if_contains_only_empty_folders, CHARACTER}; -use log::info; use rayon::prelude::*; pub fn connect_delete_button(app: &MainWindow) { @@ -64,7 +63,6 @@ fn remove_selected_items(items: Vec, active_tab: CurrentTab) { }) .collect::>(); - info!("Removing items: {:?} {:?}", items_to_remove, active_tab); // Iterate over empty folders and not delete them if they are not empty if active_tab == CurrentTab::EmptyFolders { items_to_remove.into_par_iter().for_each(|item| { diff --git a/krokiet/src/settings.rs b/krokiet/src/settings.rs index c963e13..81afbd8 100644 --- a/krokiet/src/settings.rs +++ b/krokiet/src/settings.rs @@ -259,7 +259,7 @@ pub fn save_base_settings_to_file(app: &MainWindow) { pub fn save_custom_settings_to_file(app: &MainWindow) { let current_item = app.global::().get_settings_preset_idx(); - let result = save_data_to_file(get_config_file(current_item), &collect_settings(app)); + let result = save_data_to_file(get_config_file(current_item + 1), &collect_settings(app)); if let Err(e) = result { error!("{e}"); @@ -279,14 +279,18 @@ where } let result = match std::fs::read_to_string(&config_file) { - Ok(serialized) => match serde_json::from_str(&serialized) { - Ok(custom_settings) => Ok(custom_settings), - Err(e) => Err(format!("Cannot deserialize settings: {e}")), - }, + Ok(serialized) => { + debug!("Loading data from file {:?} took {:?}", config_file, current_time.elapsed()); + + match serde_json::from_str(&serialized) { + Ok(custom_settings) => Ok(custom_settings), + Err(e) => Err(format!("Cannot deserialize settings: {e}")), + } + } Err(e) => Err(format!("Cannot read config file: {e}")), }; - debug!("Loading data from file {:?} took {:?}", config_file, current_time.elapsed()); + debug!("Loading and converting data from file {:?} took {:?}", config_file, current_time.elapsed()); result } diff --git a/krokiet/ui/included_directories.slint b/krokiet/ui/included_directories.slint new file mode 100644 index 0000000..d021879 --- /dev/null +++ b/krokiet/ui/included_directories.slint @@ -0,0 +1,101 @@ + +import {Button, StandardListView, VerticalBox, ListView, ScrollView, TextEdit, CheckBox} from "std-widgets.slint"; +import {Callabler} from "callabler.slint"; + +export struct IncludedDirectoriesModel { + path: string, + referended_folder: bool, +} + +export component InlcudedDirectories { + in-out property <[IncludedDirectoriesModel]> model: [{path: "/home/path", referended_folder: false}]; + in-out property current_index: -1; + + in-out property size_referenced_folder: 40px; + + min-width: 50px; + VerticalLayout { + HorizontalLayout { + spacing: 5px; + Text { + text: "Referenced folder"; + width: size_referenced_folder; + } + Text{ + horizontal-stretch: 1.0; + text: "Path"; + } + } + ListView { + for data in model : Rectangle { + height: 30px; + border_radius: 5px; + width: parent.width; + HorizontalLayout { + spacing: 5px; + width: parent.width; + + CheckBox { + checked: data.referended_folder; + width: size_referenced_folder; + } + Text { + horizontal-stretch: 1.0; + text: data.path; + vertical-alignment: center; + } + } + } + } + } +} + +export component ExcludeDirectories { + in-out property <[string]> model: ["/home/path"]; + in-out property current_index: -1; + private property event; + + min-width: 50px; + VerticalLayout { + HorizontalLayout { + spacing: 5px; + Text { + text: "Path"; + } + } + ListView { + for data[idx] in model : Rectangle { + height: 30px; + border_radius: 5px; + width: parent.width; + + touch_area := TouchArea { + clicked => { + if (current_index == -1) { + + } + } + double-clicked => { + if (event.button == PointerEventButton.middle && event.kind == PointerEventKind.up) { + Callabler.item_opened(data) + } + } + pointer-event(event) => { + root.event = event; + } + } + + HorizontalLayout { + spacing: 5px; + width: parent.width; + + Text { + horizontal-stretch: 1.0; + text: data; + vertical-alignment: center; + } + } + } + } + } +} diff --git a/krokiet/ui/left_side_panel.slint b/krokiet/ui/left_side_panel.slint index 7521ef7..9e92d2b 100644 --- a/krokiet/ui/left_side_panel.slint +++ b/krokiet/ui/left_side_panel.slint @@ -108,7 +108,7 @@ export component LeftSidePanel { HorizontalLayout { alignment: start; Button { - enabled: GuiState.active_tab != CurrentTab.Settings && GuiState.available_subsettings; + visible: GuiState.active_tab != CurrentTab.Settings && GuiState.available_subsettings; min-width: 20px; min-height: 20px; max-height: self.width; @@ -122,7 +122,7 @@ export component LeftSidePanel { HorizontalLayout { alignment: end; Button { - enabled: GuiState.active_tab != CurrentTab.Settings; + visible: GuiState.active_tab != CurrentTab.Settings; min-width: 20px; min-height: 20px; max-height: self.width; diff --git a/krokiet/ui/selectable_tree_view.slint b/krokiet/ui/selectable_tree_view.slint index 6d3b4c1..08c1169 100644 --- a/krokiet/ui/selectable_tree_view.slint +++ b/krokiet/ui/selectable_tree_view.slint @@ -75,17 +75,16 @@ export component SelectableTableView inherits Rectangle { height: 20px; background: r.header-row ? ColorPalette.list_view_normal_header_color : (touch-area.has-hover ? (r.selected_row ? ColorPalette.list-view-normal-selected-header : ColorPalette.list_view_normal_color) : (r.selected_row ? ColorPalette.list-view-normal-selected-header : ColorPalette.list_view_normal_color)); touch_area := TouchArea { - clicked => { + function clicked_manual() { if (!r.header_row) { - r.selected_row = !r.selected_row; if (root.selected-item == -1) { + r.selected_row = !r.selected_row; root.selected-item = idx; } else { - if (r.selected_row == true) { + if (!r.selected_row && root.selected-item != idx) { + r.selected_row = !r.selected_row; root.values[root.selected-item].selected_row = false; root.selected-item = idx; - } else { - root.selected-item = -1; } } @@ -96,13 +95,19 @@ export component SelectableTableView inherits Rectangle { } } } + double-clicked => { + Callabler.item_opened(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1]) + } pointer-event(event) => { - // TODO this should be clicked by double-click + // TODO this should be clicked by double-click - https://github.com/slint-ui/slint/issues/4235 if (event.button == PointerEventButton.right && event.kind == PointerEventKind.up) { Callabler.item_opened(r.val[root.parentPathIdx - 1]) - } else if (event.button == PointerEventButton.middle && event.kind == PointerEventKind.up) { - Callabler.item_opened(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1]) + } else if (event.button == PointerEventButton.left && event.kind == PointerEventKind.up) { + clicked_manual(); } + //else if (event.button == PointerEventButton.middle && event.kind == PointerEventKind.up) { + // Callabler.item_opened(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1]) + //} } } diff --git a/krokiet/ui/tool_settings.slint b/krokiet/ui/tool_settings.slint index 17e3083..1f735dd 100644 --- a/krokiet/ui/tool_settings.slint +++ b/krokiet/ui/tool_settings.slint @@ -15,7 +15,7 @@ import { Preview } from "preview.slint"; import {PopupNewDirectories} from "popup_new_directories.slint"; import { PopupSelect } from "popup_select.slint"; -component ComboBoxWrapper inherits HorizontalLayout { +component ComboBoxWrapper inherits HorizontalLayout { in-out property text; in-out property <[string]> model; in-out property current_index;