diff --git a/Cargo.lock b/Cargo.lock index ea8c617..02f2f6b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,12 +8,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "adler32" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" - [[package]] name = "aead" version = "0.4.3" @@ -37,9 +31,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe0133578c0986e1fe3dfcd4af1cc5b2dd6c3dbf534d69916ce16a2701d40ba" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ "cfg-if 1.0.0", "cipher 0.4.3", @@ -62,13 +56,22 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "ansi_term" version = "0.12.1" @@ -80,9 +83,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.57" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "arrayref" @@ -98,40 +101,43 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "ashpd" -version = "0.3.2" +version = "0.4.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dcc8ed0b5211687437636d8c95f6a608f4281d142101b3b5d314b38bfadd40f" +checksum = "045dde3c95c8f64855f286504bfb516f4d35f00b717023141b9e13daff2a73d9" dependencies = [ + "async-std", "enumflags2", - "futures", + "futures-channel", + "futures-util", "gdk4-wayland", "gdk4-x11", "gtk4", "libc", + "once_cell", "pipewire", "rand", "serde", "serde_repr", - "zbus", + "url", + "zbus 3.6.2", ] [[package]] name = "async-broadcast" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bbd92a9bd0e9c1298118ecf8a2f825e86b12c3ec9e411573e34aaf3a0c03cdd" +checksum = "6d26004fe83b2d1cd3a97609b21e39f9a31535822210fe83205d2ce48866ea61" dependencies = [ - "easy-parallel", "event-listener", "futures-core", - "parking_lot 0.11.2", + "parking_lot", ] [[package]] name = "async-channel" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" dependencies = [ "concurrent-queue", "event-listener", @@ -140,44 +146,61 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" dependencies = [ + "async-lock", "async-task", "concurrent-queue", "fastrand", "futures-lite", - "once_cell", "slab", ] [[package]] -name = "async-io" -version = "1.7.0" +name = "async-global-executor" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5e18f61464ae81cde0a23e713ae8fd299580c54d697a35820cfd0625b8b0e07" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-lock", + "blocking", + "futures-lite", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" +dependencies = [ + "async-lock", + "autocfg", "concurrent-queue", "futures-lite", "libc", "log", - "once_cell", "parking", "polling", "slab", "socket2", "waker-fn", - "winapi", + "windows-sys 0.42.0", ] [[package]] name = "async-lock" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" dependencies = [ "event-listener", + "futures-lite", ] [[package]] @@ -192,29 +215,78 @@ dependencies = [ ] [[package]] -name = "async-task" -version = "4.2.0" +name = "async-recursion" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9" - -[[package]] -name = "async-trait" -version = "0.1.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716" +checksum = "2cda8f4bcc10624c4e85bc66b3f452cca98cfa5ca002dc83a16aad2367641bea" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-channel", + "async-global-executor", + "async-io", + "async-lock", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" + +[[package]] +name = "async-trait" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + +[[package]] +name = "atomic_refcell" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b5e5f48b927f04e952dedc932f31995a65a0bf65ec971c74436e51bf6e970d" + [[package]] name = "atty" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -237,7 +309,7 @@ dependencies = [ "gtk-macros", "gtk4", "hex", - "image 0.24.2", + "image 0.24.5", "libadwaita", "once_cell", "oo7", @@ -268,15 +340,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64ct" -version = "1.5.0" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dea908e7347a8c64e378c17e30ef880ad73e3b4498346b055c2c00ea342f3179" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" [[package]] name = "binascii" @@ -332,9 +404,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -349,16 +421,30 @@ dependencies = [ ] [[package]] -name = "bumpalo" -version = "3.10.0" +name = "blocking" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", +] + +[[package]] +name = "bumpalo" +version = "3.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "bytemuck" -version = "1.9.1" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc" +checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" [[package]] name = "byteorder" @@ -368,34 +454,29 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" - -[[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cairo-rs" -version = "0.15.11" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62be3562254e90c1c6050a72aa638f6315593e98c5cdaba9017cedbabf0a5dee" +checksum = "f3125b15ec28b84c238f6f476c6034016a5f6cc0221cb514ca46c532139fc97d" dependencies = [ "bitflags", "cairo-sys-rs", "glib", "libc", + "once_cell", "thiserror", ] [[package]] name = "cairo-sys-rs" -version = "0.15.1" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" dependencies = [ "glib-sys", "libc", @@ -413,9 +494,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cexpr" @@ -428,9 +509,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.10.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" dependencies = [ "smallvec", ] @@ -455,11 +536,11 @@ checksum = "17cc5e6b5ab06331c33589842070416baa137e8b0eb912b008cfd4a78ada7919" [[package]] name = "chrono" -version = "0.4.19" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ - "libc", + "iana-time-zone", "num-integer", "num-traits", "winapi", @@ -486,9 +567,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.3.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -510,6 +591,16 @@ dependencies = [ "vec_map", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -518,11 +609,11 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "concurrent-queue" -version = "1.2.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" dependencies = [ - "cache-padded", + "crossbeam-utils", ] [[package]] @@ -555,9 +646,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -573,25 +664,34 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if 1.0.0", - "lazy_static", ] [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "rand_core", "typenum", ] +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn", +] + [[package]] name = "ctr" version = "0.8.0" @@ -602,12 +702,47 @@ dependencies = [ ] [[package]] -name = "deflate" -version = "1.0.0" +name = "cxx" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" +checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" dependencies = [ - "adler32", + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -656,9 +791,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer", "crypto-common", @@ -691,17 +826,11 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" -[[package]] -name = "easy-parallel" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6907e25393cdcc1f4f3f513d9aac1e840eb1cc341a0fccb01171f7d14d10b946" - [[package]] name = "either" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "encoding_rs" @@ -714,9 +843,9 @@ dependencies = [ [[package]] name = "enum-ordinalize" -version = "3.1.11" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2170fc0efee383079a8bdd05d6ea2a184d2a0f07a1c1dcabdb2fd5e9f24bc36c" +checksum = "a62bb1df8b45ecb7ffa78dca1c17a438fb193eb083db0b1b494d2a61bcb5096a" dependencies = [ "num-bigint", "num-traits", @@ -749,9 +878,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -783,15 +912,15 @@ dependencies = [ [[package]] name = "event-listener" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] @@ -801,7 +930,7 @@ name = "favicon-scrapper" version = "0.1.0" dependencies = [ "base64", - "image 0.24.2", + "image 0.24.5", "once_cell", "percent-encoding", "quick-xml", @@ -822,6 +951,16 @@ dependencies = [ "rustc_version 0.3.3", ] +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "fnv" version = "1.0.7" @@ -845,29 +984,27 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] [[package]] name = "fragile" -version = "1.2.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85dcb89d2b10c5f6133de2efd8c11959ce9dbb46a2f7a4cab208c4eeda6ce1ab" +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "futures" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" dependencies = [ "futures-channel", "futures-core", - "futures-executor", "futures-io", "futures-sink", "futures-task", @@ -876,9 +1013,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", "futures-sink", @@ -886,15 +1023,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" [[package]] name = "futures-executor" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -903,9 +1040,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" [[package]] name = "futures-lite" @@ -924,9 +1061,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", @@ -935,21 +1072,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-util" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ "futures-channel", "futures-core", @@ -965,9 +1102,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.15.11" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" +checksum = "c3578c60dee9d029ad86593ed88cb40f35c1b83360e12498d055022385dd9a05" dependencies = [ "bitflags", "gdk-pixbuf-sys", @@ -978,9 +1115,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.15.10" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" +checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" dependencies = [ "gio-sys", "glib-sys", @@ -991,9 +1128,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fabb7cf843c26b085a5d68abb95d0c0bf27a9ae2eeff9c4adb503a1eb580876" +checksum = "272db1bbb9b152ea1fea946f9d464085c86cfe14cafba450d7defa433caff8ec" dependencies = [ "bitflags", "cairo-rs", @@ -1007,9 +1144,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe7dcb44f5c00aeabff3f69abfc5673de46559070f89bd3fbb7b66485d9cef2" +checksum = "45b571f36b889ab529b2e173248dafe83d75c703f5685b9845e490c7994ae309" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1024,9 +1161,9 @@ dependencies = [ [[package]] name = "gdk4-wayland" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf81f00824c5f9862764c18ef061efe12b9c4f10614f74d3eaf1f18852c335e2" +checksum = "dee24d5a659ecca2170642c0db211446e7fdbc7ebcf1e63be99405df6f541c15" dependencies = [ "gdk4", "gdk4-wayland-sys", @@ -1037,9 +1174,9 @@ dependencies = [ [[package]] name = "gdk4-wayland-sys" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2375ec73e2ec6815cdf1da330ff2e020b46fab9057d1e06f44909f1789898" +checksum = "dbb03e044a5f6ae9270823a8ef89739808845120d47b2be83de785e044c83386" dependencies = [ "glib-sys", "libc", @@ -1048,9 +1185,9 @@ dependencies = [ [[package]] name = "gdk4-x11" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be84e388c6b74cce3f9232904ce87ae1857ee3a41a20d9d8a16ae8792799b27c" +checksum = "d739e89b1be52f2216a6fe81a8ed7225c882b7c4f67a44c13506cc028ec48e62" dependencies = [ "gdk4", "gdk4-x11-sys", @@ -1061,9 +1198,9 @@ dependencies = [ [[package]] name = "gdk4-x11-sys" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f85f9dabcc847c0733246822bebb476dcbb93f5a964d561b46b69f00fdbbf44" +checksum = "c5493c6af80cdc84b284714b3313af45788a8f1afd34b020f915f6e7cd65f502" dependencies = [ "gdk4-sys", "glib-sys", @@ -1073,9 +1210,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", @@ -1083,13 +1220,13 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if 1.0.0", "libc", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -1124,26 +1261,29 @@ dependencies = [ [[package]] name = "gio" -version = "0.15.11" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f132be35e05d9662b9fa0fee3f349c6621f7782e0105917f4cc73c1bf47eceb" +checksum = "2a1c84b4534a290a29160ef5c6eff2a9c95833111472e824fc5cb78b513dd092" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-io", + "futures-util", "gio-sys", "glib", "libc", "once_cell", + "pin-project-lite", + "smallvec", "thiserror", ] [[package]] name = "gio-sys" -version = "0.15.10" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" +checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" dependencies = [ "glib-sys", "gobject-sys", @@ -1154,15 +1294,17 @@ dependencies = [ [[package]] name = "glib" -version = "0.15.11" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124026a2fa8c33a3d17a3fe59c103f2d9fa5bd92c19e029e037736729abeab" +checksum = "ddd4df61a866ed7259d6189b8bcb1464989a77f1d85d25d002279bbe9dd38b2f" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-executor", "futures-task", + "futures-util", + "gio-sys", "glib-macros", "glib-sys", "gobject-sys", @@ -1174,9 +1316,9 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.15.11" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64" +checksum = "e084807350b01348b6d9dbabb724d1a0bb987f47a2c85de200e98e12e30733bf" dependencies = [ "anyhow", "heck", @@ -1189,9 +1331,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.15.10" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" +checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65" dependencies = [ "libc", "system-deps", @@ -1204,10 +1346,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] -name = "gobject-sys" -version = "0.15.10" +name = "gloo-timers" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" +checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gobject-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" dependencies = [ "glib-sys", "libc", @@ -1216,9 +1370,9 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.15.1" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c54f9fbbeefdb62c99f892dfca35f83991e2cb5b46a8dc2a715e58612f85570" +checksum = "95ecb4d347e6d09820df3bdfd89a74a8eec07753a06bb92a3aac3ad31d04447b" dependencies = [ "glib", "graphene-sys", @@ -1227,9 +1381,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.15.10" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa691fc7337ba1df599afb55c3bcb85c04f1b3f17362570e9bb0ff0d1bc3028a" +checksum = "b9aa82337d3972b4eafdea71e607c23f47be6f27f749aab613f1ad8ddbe6dcd6" dependencies = [ "glib-sys", "libc", @@ -1239,9 +1393,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e9020d333280b3aa38d496495bfa9b50712eebf1ad63f0ec5bcddb5eb61be4" +checksum = "4053293b79099bdfecd9ab0d811d118a0eafce613dfe0b26075419d955f1f652" dependencies = [ "bitflags", "cairo-rs", @@ -1255,9 +1409,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7add39ccf60078508c838643a2dcc91f045c46ed63b5ea6ab701b2e25bda3fea" +checksum = "08e0642edffdb35028d7d67b830678da98844216b6442e11eee52c91ad2a6dc2" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1271,9 +1425,9 @@ dependencies = [ [[package]] name = "gst-plugin-gtk4" -version = "0.1.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e62e047edb1932887c20105c681203d138ebeb61b83b9e0b368cdec1d0fbc0cc" +checksum = "f40988bfe4d324150d2cea1f3b5489d1aa47efcba85df81ec6affb04deac37ef" dependencies = [ "fragile", "gst-plugin-version-helper", @@ -1286,18 +1440,18 @@ dependencies = [ [[package]] name = "gst-plugin-version-helper" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6a4dd1cb931cc6b49af354a68f21b3aee46b5b07370215d942f3a71542123f" +checksum = "87921209945e5dc809848a100115fad65bd127671896f0206f45e272080cc4c9" dependencies = [ "chrono", ] [[package]] name = "gstreamer" -version = "0.18.8" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66363bacf5e4f6eb281564adc2902e44c52ae5c45082423e7439e9012b75456" +checksum = "87a7570ad1d3c1cbf64561ada514fe0c03cf834f2076b85ffc616756c840b665" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -1309,7 +1463,7 @@ dependencies = [ "libc", "muldiv", "num-integer", - "num-rational 0.4.0", + "num-rational 0.4.1", "once_cell", "option-operations", "paste", @@ -1319,10 +1473,11 @@ dependencies = [ [[package]] name = "gstreamer-base" -version = "0.18.0" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224f35f36582407caf58ded74854526beeecc23d0cf64b8d1c3e00584ed6863f" +checksum = "a61a299f9ea2ca892b43e2e428b86c679875e95ba23f8ae06fd730308df630f0" dependencies = [ + "atomic_refcell", "bitflags", "cfg-if 1.0.0", "glib", @@ -1333,9 +1488,9 @@ dependencies = [ [[package]] name = "gstreamer-base-sys" -version = "0.18.0" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a083493c3c340e71fa7c66eebda016e9fafc03eb1b4804cf9b2bad61994b078e" +checksum = "dbc3c4476e1503ae245c89fbe20060c30ec6ade5f44620bcc402cbc70a3911a1" dependencies = [ "glib-sys", "gobject-sys", @@ -1346,9 +1501,9 @@ dependencies = [ [[package]] name = "gstreamer-sys" -version = "0.18.0" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3517a65d3c2e6f8905b456eba5d53bda158d664863aef960b44f651cb7d33e2" +checksum = "545f52ad8a480732cc4290fd65dfe42952c8ae374fe581831ba15981fedf18a4" dependencies = [ "glib-sys", "gobject-sys", @@ -1358,9 +1513,9 @@ dependencies = [ [[package]] name = "gstreamer-video" -version = "0.18.7" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9418adfc72dafa1ad9eb106527ce4804887d101027c4528ec28c7d29cc899519" +checksum = "5e99623fb99436c4b2da66ae94b25881c94db5144afc1bd7c84cee5cabb72f18" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -1375,9 +1530,9 @@ dependencies = [ [[package]] name = "gstreamer-video-sys" -version = "0.18.3" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33331b1675e73b5b000c796354278eca7fdde9327015971d9f41afe28b96e0dc" +checksum = "9206e9df0ed84824bfe4cc13e3359154ad7624221c7d3d6242585db3f19a15d9" dependencies = [ "glib-sys", "gobject-sys", @@ -1395,9 +1550,9 @@ checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a" [[package]] name = "gtk4" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64f0c2a3d80e899dc3febddad5bac193ffcf74a0fd7e31037f30dd34d6f7396" +checksum = "8954da3659ff1cb35aa95110021b33fadcd8e306e8fe41f32146ffa009665a79" dependencies = [ "bitflags", "cairo-rs", @@ -1418,24 +1573,23 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fafbcc920af4eb677d7d164853e7040b9de5a22379c596f570190c675d45f7a7" +checksum = "58138cd3c595e04f82df050390aa7d2bd093795ce569e5f1d49eb496ef67fe7b" dependencies = [ "anyhow", "proc-macro-crate", "proc-macro-error", "proc-macro2", - "quick-xml", "quote", "syn", ] [[package]] name = "gtk4-sys" -version = "0.4.8" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc8006eea634b7c72da3ff79e24606e45f21b3b832a3c5a1f543f5f97eb0f63" +checksum = "ef29e09e055b2f2550eb1882caa6961a1ae3c971a70bcb25cb9d5ab6cbd63821" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1452,9 +1606,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -1471,9 +1625,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heck" @@ -1490,6 +1644,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1541,9 +1704,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -1559,9 +1722,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.19" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -1595,12 +1758,35 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.2.3" +name = "iana-time-zone" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] @@ -1621,24 +1807,23 @@ dependencies = [ [[package]] name = "image" -version = "0.24.2" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28edd9d7bc256be2502e325ac0628bde30b7001b9b52e0abe31a1a9dc2701212" +checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" dependencies = [ "bytemuck", "byteorder", "color_quant", - "num-iter", - "num-rational 0.4.0", + "num-rational 0.4.1", "num-traits", "png", ] [[package]] name = "indexmap" -version = "1.8.2" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6012d540c5baa3589337a98ce73408de9b5a25ec9fc2c6fd6be8f0d39e0ca5a" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -1665,34 +1850,43 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "js-sys" -version = "0.3.57" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] +[[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_static" version = "1.4.0" @@ -1707,10 +1901,12 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libadwaita" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ae453d28e3b91f03749f02b1531e8cfe315a1d0762b77a61797d2ab80bb87d" +checksum = "9dfa0722d4f1724f661cbf668c273c5926296ca411ed3814e206f8fd082b6c48" dependencies = [ + "bitflags", + "futures-channel", "gdk-pixbuf", "gdk4", "gio", @@ -1724,9 +1920,9 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f18b6ac4cadd252a89f5cba0a5a4e99836131795d6fad37b859ac79e8cb7d2c8" +checksum = "de902982372b454a0081d7fd9dd567b37b73ae29c8f6da1820374d345fd95d5b" dependencies = [ "gdk4-sys", "gio-sys", @@ -1734,20 +1930,21 @@ dependencies = [ "gobject-sys", "gtk4-sys", "libc", + "pango-sys", "system-deps", ] [[package]] name = "libc" -version = "0.2.126" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if 1.0.0", "winapi", @@ -1789,6 +1986,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +dependencies = [ + "cc", +] + [[package]] name = "locale_config" version = "0.3.0" @@ -1804,9 +2010,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg", "scopeguard", @@ -1819,6 +2025,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", + "value-bag", ] [[package]] @@ -1830,12 +2037,6 @@ dependencies = [ "libc", ] -[[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - [[package]] name = "memchr" version = "2.5.0" @@ -1886,36 +2087,36 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713d550d9b44d89174e066b7a6217ae06234c10cb47819a88290d2b353c31799" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "wasi", + "windows-sys 0.42.0", ] [[package]] name = "muldiv" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3" +checksum = "956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0" [[package]] name = "native-tls" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", @@ -1944,9 +2145,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" +checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" dependencies = [ "bitflags", "cc", @@ -1955,6 +2156,20 @@ dependencies = [ "memoffset", ] +[[package]] +name = "nix" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if 1.0.0", + "libc", + "memoffset", + "pin-utils", +] + [[package]] name = "nom" version = "7.1.1" @@ -1965,6 +2180,16 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + [[package]] name = "num" version = "0.4.0" @@ -1975,7 +2200,7 @@ dependencies = [ "num-complex", "num-integer", "num-iter", - "num-rational 0.4.0", + "num-rational 0.4.1", "num-traits", ] @@ -1992,9 +2217,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fbc387afefefd5e9e39493299f3069e14a140dd34dc19b4c1c1a8fddb6a790" +checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" dependencies = [ "num-traits", ] @@ -2033,9 +2258,9 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", "num-bigint", @@ -2054,11 +2279,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] @@ -2093,9 +2318,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.12.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "oo7" @@ -2103,7 +2328,7 @@ version = "0.1.0-alpha.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e614140b3625a16ddde5880e5c6429d4ef901883256edf496cceb62af1c7b6f8" dependencies = [ - "aes 0.8.1", + "aes 0.8.2", "byteorder", "cbc", "cipher 0.4.3", @@ -2120,7 +2345,7 @@ dependencies = [ "sha2", "tokio", "tracing", - "zbus", + "zbus 2.3.2", "zeroize", ] @@ -2132,9 +2357,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.40" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2164,9 +2389,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.74" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835363342df5fba8354c5b453325b110ffd54044e588c539cf2f20a8014e4cb1" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg", "cc", @@ -2177,9 +2402,9 @@ dependencies = [ [[package]] name = "option-operations" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95d6113415f41b268f1195907427519769e40ee6f28cbb053795098a2c16f447" +checksum = "7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0" dependencies = [ "paste", ] @@ -2195,12 +2420,29 @@ dependencies = [ ] [[package]] -name = "pango" -version = "0.15.10" +name = "ordered-stream" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +checksum = "01ca8c99d73c6e92ac1358f9f692c22c0bfd9c4701fa086f5d365c0d4ea818ea" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pango" +version = "0.16.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94" dependencies = [ "bitflags", + "gio", "glib", "libc", "once_cell", @@ -2209,9 +2451,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.15.10" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" +checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" dependencies = [ "glib-sys", "gobject-sys", @@ -2225,17 +2467,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.5", -] - [[package]] name = "parking_lot" version = "0.12.1" @@ -2243,41 +2474,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.3", + "parking_lot_core", ] [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" -dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall", - "smallvec", - "winapi", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] name = "password-hash" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e029e94abc8fb0065241c308f1ac6bc8d20f450e8f7c5f0b25cd9b8d526ba294" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ "base64ct", "rand_core", @@ -2286,9 +2503,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.7" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -2310,16 +2527,17 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.1.3" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +checksum = "0f6e86fb9e7026527a0d46bc308b841d73170ef8f443e1807f6ef88526a816d4" dependencies = [ + "thiserror", "ucd-trie", ] @@ -2366,33 +2584,34 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "png" -version = "0.17.5" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba" +checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" dependencies = [ "bitflags", "crc32fast", - "deflate", + "flate2", "miniz_oxide", ] [[package]] name = "polling" -version = "2.2.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259" +checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ + "autocfg", "cfg-if 1.0.0", "libc", "log", "wepoll-ffi", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -2409,9 +2628,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pretty-hex" @@ -2421,10 +2640,11 @@ checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5" [[package]] name = "proc-macro-crate" -version = "1.1.3" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" dependencies = [ + "once_cell", "thiserror", "toml", ] @@ -2455,9 +2675,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.39" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" +checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" dependencies = [ "unicode-ident", ] @@ -2506,21 +2726,21 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.18" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] [[package]] name = "r2d2" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f" +checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot 0.11.2", + "parking_lot", "scheduled-thread-pool", ] @@ -2547,18 +2767,18 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom", ] [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] @@ -2576,9 +2796,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.5.6" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2587,9 +2807,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.26" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -2602,9 +2822,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.10" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ "base64", "bytes", @@ -2618,10 +2838,10 @@ dependencies = [ "hyper-tls", "ipnet", "js-sys", - "lazy_static", "log", "mime", "native-tls", + "once_cell", "percent-encoding", "pin-project-lite", "serde", @@ -2629,6 +2849,7 @@ dependencies = [ "serde_urlencoded", "tokio", "tokio-native-tls", + "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -2653,9 +2874,9 @@ dependencies = [ [[package]] name = "roxmltree" -version = "0.13.1" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf7d7b1ea646d380d0e8153158063a6da7efe30ddbf3184042848e3f8a6f671" +checksum = "6b9de9831a129b122e7e61f242db509fa9d0838008bf0b29bb0624669edfe48a" dependencies = [ "xmlparser", ] @@ -2693,14 +2914,14 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.10", + "semver 1.0.16", ] [[package]] name = "ryu" -version = "1.0.10" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "salsa20" @@ -2718,7 +2939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -2727,7 +2948,7 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" dependencies = [ - "parking_lot 0.12.1", + "parking_lot", ] [[package]] @@ -2736,6 +2957,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" + [[package]] name = "scrypt" version = "0.10.0" @@ -2750,22 +2977,21 @@ dependencies = [ [[package]] name = "search-provider" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350ac7d1c6898fa22b7ac0e4fbc857997c1b5f077ece7cdb1415c13954402f17" +checksum = "cafe4799fb308adda2a4034de623d8500ccfb3cd41acde899e47bca368b73b69" dependencies = [ - "futures", + "futures-channel", + "futures-util", "serde", - "zbus", - "zvariant", - "zvariant_derive", + "zbus 3.6.2", ] [[package]] name = "security-framework" -version = "2.6.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" dependencies = [ "bitflags", "core-foundation", @@ -2795,9 +3021,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.10" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41d061efea015927ac527063765e73601444cdc344ba855bc7bd44578b25e1c" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "semver-parser" @@ -2810,18 +3036,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.137" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" +checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.137" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" +checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" dependencies = [ "proc-macro2", "quote", @@ -2830,9 +3056,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.81" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", @@ -2841,9 +3067,9 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.8" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ad84e47328a31223de7fed7a4f5087f2d6ddfe586cf3ca25b7a165bc0a5aed" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" dependencies = [ "proc-macro2", "quote", @@ -2871,6 +3097,17 @@ dependencies = [ "sha1_smol", ] +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest", +] + [[package]] name = "sha1_smol" version = "1.0.0" @@ -2879,9 +3116,9 @@ checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -2915,21 +3152,24 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] [[package]] name = "smallvec" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", @@ -2961,9 +3201,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "svg_metadata" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39f36262efe61096a17aa42140b0e44b9189806c3fa71ab3cff123429938eb0" +checksum = "eacedf9d5c2552d510718db410b2c0e0f367456acacf317000d6d31067e50ccd" dependencies = [ "doc-comment", "lazy_static", @@ -2973,9 +3213,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.96" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -2996,9 +3236,9 @@ dependencies = [ [[package]] name = "system-deps" -version = "6.0.2" +version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709" +checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" dependencies = [ "cfg-expr", "heck", @@ -3047,18 +3287,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.31" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.31" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -3091,27 +3331,27 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.19.2" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439" +checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" dependencies = [ + "autocfg", "bytes", "libc", "memchr", "mio", "num_cpus", - "once_cell", "pin-project-lite", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -3130,9 +3370,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes", "futures-core", @@ -3144,24 +3384,24 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ "serde", ] [[package]] name = "tower-service" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.35" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -3171,9 +3411,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", @@ -3182,9 +3422,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.27" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", "valuable", @@ -3203,11 +3443,11 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.11" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" +checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" dependencies = [ - "ansi_term", + "nu-ansi-term", "sharded-slab", "smallvec", "thread_local", @@ -3223,15 +3463,15 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] name = "uds_windows" @@ -3260,30 +3500,30 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.0" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" @@ -3303,21 +3543,21 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", "idna", - "matches", "percent-encoding", + "serde", ] [[package]] name = "uuid" -version = "1.1.2" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" dependencies = [ "getrandom", ] @@ -3328,6 +3568,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "value-bag" +version = "1.0.0-alpha.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" +dependencies = [ + "ctor", + "version_check", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -3342,9 +3592,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version-compare" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" [[package]] name = "version_check" @@ -3374,12 +3624,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3388,9 +3632,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.80" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -3398,13 +3642,13 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.80" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", - "lazy_static", "log", + "once_cell", "proc-macro2", "quote", "syn", @@ -3413,9 +3657,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.30" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f741de44b75e14c35df886aff5f1eb73aa114fa5d4d00dcd37b5e01259bf3b2" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3425,9 +3669,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.80" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3435,9 +3679,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.80" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -3448,15 +3692,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.80" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "web-sys" -version = "0.3.57" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -3473,13 +3717,13 @@ dependencies = [ [[package]] name = "which" -version = "4.2.5" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" dependencies = [ "either", - "lazy_static", "libc", + "once_cell", ] [[package]] @@ -3519,43 +3763,100 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + [[package]] name = "winreg" version = "0.10.1" @@ -3567,15 +3868,15 @@ dependencies = [ [[package]] name = "xmlparser" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "114ba2b24d2167ef6d67d7d04c8cc86522b87f490025f39f0303b7db5bf5e3d8" +checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd" [[package]] name = "zbar-rust" -version = "0.0.19" +version = "0.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1194aefd2495c9d456e12787f51d8741df7265bb72dc40fa41a17e63d396a007" +checksum = "b08712bd2e1020ab69e475ccd66afa8e508bf93393a262e2ba56c549cd0865eb" dependencies = [ "enum-ordinalize", "libc", @@ -3584,20 +3885,21 @@ dependencies = [ [[package]] name = "zbus" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53819092b9db813b2c6168b097b4b13ad284d81c9f2b0165a0a1b190e505a1f3" +checksum = "2d8f1a037b2c4a67d9654dc7bdfa8ff2e80555bbefdd3c1833c1d1b27c963a6b" dependencies = [ "async-broadcast", "async-channel", "async-executor", "async-io", "async-lock", - "async-recursion", + "async-recursion 0.3.2", "async-task", "async-trait", "byteorder", "derivative", + "dirs", "enumflags2", "event-listener", "futures-core", @@ -3605,27 +3907,80 @@ dependencies = [ "futures-util", "hex", "lazy_static", - "nix 0.23.1", + "nix 0.23.2", "once_cell", - "ordered-stream", + "ordered-stream 0.0.1", "rand", "serde", "serde_repr", - "sha1", + "sha1 0.6.1", "static_assertions", "tokio", + "tracing", "uds_windows", "winapi", - "zbus_macros", + "zbus_macros 2.3.2", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus" +version = "3.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938ea6da98c75c2c37a86007bd17fd8e208cbec24e086108c87ece98e9edec0d" +dependencies = [ + "async-broadcast", + "async-channel", + "async-executor", + "async-io", + "async-lock", + "async-recursion 1.0.0", + "async-task", + "async-trait", + "byteorder", + "derivative", + "dirs", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.25.1", + "once_cell", + "ordered-stream 0.1.2", + "rand", + "serde", + "serde_repr", + "sha1 0.10.5", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "zbus_macros 3.6.2", "zbus_names", "zvariant", ] [[package]] name = "zbus_macros" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7174ebe6722c280d6d132d694bb5664ce50a788cb70eeb518e7fc1ca095a114" +checksum = "1f8fb5186d1c87ae88cf234974c240671238b4a679158ad3b94ec465237349a6" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn", +] + +[[package]] +name = "zbus_macros" +version = "3.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45066039ebf3330820e495e854f8b312abb68f0a39e97972d092bd72e8bb3e8e" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3636,9 +3991,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "2.1.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45dfcdcf87b71dad505d30cc27b1b7b88a64b6d1c435648f48f9dbc1fdc4b7e1" +checksum = "6c737644108627748a660d038974160e0cbb62605536091bdfa28fd7f64d43c8" dependencies = [ "serde", "static_assertions", @@ -3647,18 +4002,18 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.5.5" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94693807d016b2f2d2e14420eb3bfcca689311ff775dcf113d74ea624b7cdf07" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", @@ -3668,23 +4023,24 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.2.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd1abd8bc2c855412b9c8af9fc11c0d695c73c732ad5a1a1be10f3fd4bf19b2" +checksum = "56f8c89c183461e11867ded456db252eae90874bc6769b7adbea464caa777e51" dependencies = [ "byteorder", "enumflags2", "libc", "serde", "static_assertions", + "url", "zvariant_derive", ] [[package]] name = "zvariant_derive" -version = "3.2.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abebd57382dfacf3e7bbdd7b7c3d162d6ed0687a78f046263ddef4ddabc275ae" +checksum = "155247a5d1ab55e335421c104ccd95d64f17cebbd02f50cdbc1c33385f9c4d81" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index cc54229..e0f6a5e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,18 +4,18 @@ name = "authenticator" version = "4.1.6" [dependencies] -adw = {package = "libadwaita", version = "0.1.0"} +adw = {package = "libadwaita", version = "0.2"} anyhow = "1.0" -ashpd = {version = "0.3", features = ["feature_pipewire", "feature_gtk4"]} +ashpd = {version = "0.4.0-alpha.1", features = ["pipewire", "gtk4"]} binascii = "0.1" diesel = {version = "1.4", features = ["sqlite", "r2d2"]} diesel_migrations = {version = "1.4", features = ["sqlite"]} gettext-rs = {version = "0.7", features = ["gettext-system"]} -gst = {package = "gstreamer", version = "0.18"} -gst4gtk = { package = "gst-plugin-gtk4", version = "0.1"} -gtk = {package = "gtk4", version = "0.4"} +gst = {package = "gstreamer", version = "0.19"} +gst4gtk = { package = "gst-plugin-gtk4", version = "0.9"} +gtk = {package = "gtk4", version = "0.5"} gtk-macros = "0.3" -search-provider = "0.3" +search-provider = "0.4" hex = { version = "0.4.3", features = [ "serde" ] } tracing = "0.1" tracing-subscriber = "0.3" diff --git a/src/application.rs b/src/application.rs index 48a8767..732c088 100644 --- a/src/application.rs +++ b/src/application.rs @@ -20,7 +20,7 @@ mod imp { use std::cell::{Cell, RefCell}; use adw::subclass::prelude::*; - use glib::{ParamFlags, ParamSpec, ParamSpecBoolean, Value, WeakRef}; + use glib::{ParamSpec, ParamSpecBoolean, Value, WeakRef}; use once_cell::sync::{Lazy, OnceCell}; use super::*; @@ -51,26 +51,16 @@ mod imp { fn properties() -> &'static [ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { vec![ - ParamSpecBoolean::new( - "is-locked", - "", - "", - false, - ParamFlags::READWRITE | ParamFlags::CONSTRUCT, - ), - ParamSpecBoolean::new( - "can-be-locked", - "", - "", - false, - ParamFlags::READWRITE | ParamFlags::CONSTRUCT, - ), + ParamSpecBoolean::builder("is-locked").construct().build(), + ParamSpecBoolean::builder("can-be-locked") + .construct() + .build(), ] }); PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "is-locked" => { let locked = value.get().unwrap(); @@ -84,7 +74,7 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "is-locked" => self.locked.get().to_value(), "can-be-locked" => self.can_be_locked.get().to_value(), @@ -95,9 +85,9 @@ mod imp { // Overrides GApplication vfuncs impl ApplicationImpl for Application { - fn startup(&self, app: &Self::Type) { - self.parent_startup(app); - + fn startup(&self) { + self.parent_startup(); + let app = self.obj(); action!(app, "quit", clone!(@weak app => move |_, _| app.quit())); action!( @@ -213,7 +203,8 @@ mod imp { })); } - fn activate(&self, app: &Self::Type) { + fn activate(&self) { + let app = self.obj(); if let Some(ref win) = *self.window.borrow() { let window = win.upgrade().unwrap(); window.present(); @@ -236,15 +227,15 @@ mod imp { app.restart_lock_timeout(); } - fn open(&self, application: &Self::Type, files: &[gio::File], _hint: &str) { - self.activate(application); + fn open(&self, files: &[gio::File], _hint: &str) { + self.activate(); let uris = files .iter() .filter_map(|f| OTPUri::from_str(&f.uri()).ok()) .collect::>(); // We only handle a single URI (see the desktop file) if let Some(uri) = uris.get(0) { - let window = application.active_window(); + let window = self.obj().active_window(); window.open_add_account(Some(uri)) } } @@ -321,8 +312,7 @@ impl Application { ("resource-base-path", &"/com/belmoussaoui/Authenticator"), ("is-locked", &has_set_password), ("can-be-locked", &has_set_password), - ]) - .unwrap(); + ]); // Only load the model if the app is not locked if !has_set_password { app.imp().model.load(); diff --git a/src/backup/aegis.rs b/src/backup/aegis.rs index f1a37f3..684ee75 100644 --- a/src/backup/aegis.rs +++ b/src/backup/aegis.rs @@ -14,7 +14,7 @@ use aes_gcm::{aead::Aead, NewAead}; use anyhow::{Context, Result}; use gettextrs::gettext; -use gtk::{glib::Cast, prelude::*}; +use gtk::prelude::*; use rand::RngCore; use serde::{Deserialize, Serialize}; diff --git a/src/backup/andotp.rs b/src/backup/andotp.rs index b4a6a70..89cda89 100644 --- a/src/backup/andotp.rs +++ b/src/backup/andotp.rs @@ -1,6 +1,6 @@ use anyhow::Result; use gettextrs::gettext; -use gtk::{glib::Cast, prelude::*}; +use gtk::prelude::*; use serde::{Deserialize, Serialize}; use super::{Backupable, Restorable, RestorableItem}; diff --git a/src/models/account.rs b/src/models/account.rs index 9cbd88b..a21f02e 100644 --- a/src/models/account.rs +++ b/src/models/account.rs @@ -3,8 +3,11 @@ use std::cell::{Cell, RefCell}; use anyhow::{Context, Result}; use diesel::{BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl}; -use glib::{clone, Cast, StaticType, ToValue}; -use gtk::{glib, prelude::*, subclass::prelude::*}; +use gtk::{ + glib::{self, clone}, + prelude::*, + subclass::prelude::*, +}; use once_cell::sync::OnceCell; use unicase::UniCase; @@ -96,22 +99,16 @@ mod imp { otp::HOTP_DEFAULT_COUNTER, ParamFlags::READWRITE, ), - ParamSpecString::new("name", "", "", None, ParamFlags::READWRITE), - ParamSpecString::new("token-id", "", "", None, ParamFlags::READWRITE), - ParamSpecString::new("otp", "", "", None, ParamFlags::READWRITE), - ParamSpecObject::new( - "provider", - "", - "", - Provider::static_type(), - ParamFlags::READWRITE, - ), + ParamSpecString::builder("name").build(), + ParamSpecString::builder("token-id").build(), + ParamSpecString::builder("otp").build(), + ParamSpecObject::builder::("provider").build(), ] }); PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "id" => { let id = value.get().unwrap(); @@ -141,7 +138,7 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "id" => self.id.get().to_value(), "name" => self.name.borrow().to_value(), @@ -254,8 +251,7 @@ impl Account { ("token-id", &token_id), ("provider", &provider), ("counter", &counter), - ]) - .context("Failed to create account")?; + ]); let token = if let Some(t) = token { t.to_string() diff --git a/src/models/account_sorter.rs b/src/models/account_sorter.rs index e6c13b8..986ac8f 100644 --- a/src/models/account_sorter.rs +++ b/src/models/account_sorter.rs @@ -18,16 +18,11 @@ mod imp { impl ObjectImpl for AccountSorter {} impl SorterImpl for AccountSorter { - fn order(&self, _sorter: &Self::Type) -> gtk::SorterOrder { + fn order(&self) -> gtk::SorterOrder { gtk::SorterOrder::Total } - fn compare( - &self, - _sorter: &Self::Type, - item1: &glib::Object, - item2: &glib::Object, - ) -> gtk::Ordering { + fn compare(&self, item1: &glib::Object, item2: &glib::Object) -> gtk::Ordering { Account::compare(item1, item2).into() } } @@ -40,6 +35,6 @@ glib::wrapper! { impl Default for AccountSorter { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create AccountSorter") + glib::Object::new(&[]) } } diff --git a/src/models/accounts.rs b/src/models/accounts.rs index 6d64d56..010a152 100644 --- a/src/models/accounts.rs +++ b/src/models/accounts.rs @@ -20,13 +20,13 @@ mod imp { impl ObjectImpl for AccountsModel {} impl ListModelImpl for AccountsModel { - fn item_type(&self, _list_model: &Self::Type) -> glib::Type { + fn item_type(&self) -> glib::Type { Account::static_type() } - fn n_items(&self, _list_model: &Self::Type) -> u32 { + fn n_items(&self) -> u32 { self.0.borrow().len() as u32 } - fn item(&self, _list_model: &Self::Type, position: u32) -> Option { + fn item(&self, position: u32) -> Option { self.0 .borrow() .get(position as usize) @@ -91,6 +91,6 @@ impl AccountsModel { impl Default for AccountsModel { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create AccountsModel") + glib::Object::new(&[]) } } diff --git a/src/models/provider.rs b/src/models/provider.rs index 774b853..3529ed6 100644 --- a/src/models/provider.rs +++ b/src/models/provider.rs @@ -8,8 +8,12 @@ use std::{ use anyhow::Result; use diesel::{ExpressionMethods, QueryDsl, RunQueryDsl}; -use glib::{clone, Cast, StaticType, ToValue}; -use gtk::{gdk_pixbuf, gio, glib, prelude::*, subclass::prelude::*}; +use gtk::{ + gdk_pixbuf, gio, + glib::{self, clone}, + prelude::*, + subclass::prelude::*, +}; use unicase::UniCase; use url::Url; @@ -126,14 +130,8 @@ mod imp { 0, ParamFlags::READWRITE | ParamFlags::CONSTRUCT, ), - ParamSpecString::new("name", "", "", None, ParamFlags::READWRITE), - ParamSpecObject::new( - "accounts", - "", - "", - AccountsModel::static_type(), - ParamFlags::READWRITE, - ), + ParamSpecString::builder("name").build(), + ParamSpecObject::builder::("accounts").build(), ParamSpecUInt::new( "period", "", @@ -175,8 +173,8 @@ mod imp { Some(&OTPMethod::default().to_string()), ParamFlags::READWRITE, ), - ParamSpecString::new("website", "", "", None, ParamFlags::READWRITE), - ParamSpecString::new("help-url", "", "", None, ParamFlags::READWRITE), + ParamSpecString::builder("website").build(), + ParamSpecString::builder("help-url").build(), ParamSpecString::new( "image-uri", "", @@ -198,7 +196,7 @@ mod imp { PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "id" => { let id = value.get().unwrap(); @@ -248,7 +246,7 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "id" => self.id.get().to_value(), "name" => self.name.borrow().to_value(), @@ -266,7 +264,7 @@ mod imp { } } - fn dispose(&self, _obj: &Self::Type) { + fn dispose(&self) { // Stop ticking if let Some(source_id) = self.tick_callback.borrow_mut().take() { source_id.remove(); @@ -365,7 +363,6 @@ impl Provider { ("digits", &digits), ("default-counter", &default_counter), ]) - .expect("Failed to create provider") } pub async fn favicon( diff --git a/src/models/provider_sorter.rs b/src/models/provider_sorter.rs index 925aad5..37762be 100644 --- a/src/models/provider_sorter.rs +++ b/src/models/provider_sorter.rs @@ -19,16 +19,11 @@ mod imp { impl ObjectImpl for ProviderSorter {} impl SorterImpl for ProviderSorter { - fn order(&self, _sorter: &Self::Type) -> gtk::SorterOrder { + fn order(&self) -> gtk::SorterOrder { gtk::SorterOrder::Total } - fn compare( - &self, - _sorter: &Self::Type, - item1: &glib::Object, - item2: &glib::Object, - ) -> gtk::Ordering { + fn compare(&self, item1: &glib::Object, item2: &glib::Object) -> gtk::Ordering { Provider::compare(item1, item2).into() } } @@ -41,6 +36,6 @@ glib::wrapper! { impl Default for ProviderSorter { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create ProviderSorter") + glib::Object::new(&[]) } } diff --git a/src/models/providers.rs b/src/models/providers.rs index a41f7a4..a7076f9 100644 --- a/src/models/providers.rs +++ b/src/models/providers.rs @@ -20,13 +20,13 @@ mod imp { } impl ObjectImpl for ProvidersModel {} impl ListModelImpl for ProvidersModel { - fn item_type(&self, _list_model: &Self::Type) -> glib::Type { + fn item_type(&self) -> glib::Type { Provider::static_type() } - fn n_items(&self, _list_model: &Self::Type) -> u32 { + fn n_items(&self) -> u32 { self.0.borrow().len() as u32 } - fn item(&self, _list_model: &Self::Type, position: u32) -> Option { + fn item(&self, position: u32) -> Option { self.0 .borrow() .get(position as usize) @@ -229,6 +229,6 @@ impl ProvidersModel { impl Default for ProvidersModel { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create Model") + glib::Object::new(&[]) } } diff --git a/src/widgets/accounts/add.rs b/src/widgets/accounts/add.rs index fbfbb20..d46cedd 100644 --- a/src/widgets/accounts/add.rs +++ b/src/widgets/accounts/add.rs @@ -104,17 +104,14 @@ mod imp { impl ObjectImpl for AccountAddDialog { fn signals() -> &'static [Signal] { - static SIGNALS: Lazy> = Lazy::new(|| { - vec![Signal::builder("added", &[], <()>::static_type().into()) - .action() - .build()] - }); + static SIGNALS: Lazy> = + Lazy::new(|| vec![Signal::builder("added").action().build()]); SIGNALS.as_ref() } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); - obj.action_set_enabled("add.save", false); + fn constructed(&self) { + self.parent_constructed(); + self.obj().action_set_enabled("add.save", false); } } impl WidgetImpl for AccountAddDialog {} @@ -129,7 +126,7 @@ glib::wrapper! { #[gtk::template_callbacks] impl AccountAddDialog { pub fn new(model: ProvidersModel) -> Self { - let dialog = glib::Object::new::(&[]).expect("Failed to create AccountAddDialog"); + let dialog = glib::Object::new::(&[]); dialog.imp().model.set(model).unwrap(); dialog.setup_widget(); diff --git a/src/widgets/accounts/details.rs b/src/widgets/accounts/details.rs index bb7ba75..7804ff9 100644 --- a/src/widgets/accounts/details.rs +++ b/src/widgets/accounts/details.rs @@ -121,31 +121,26 @@ mod imp { fn signals() -> &'static [Signal] { static SIGNALS: Lazy> = Lazy::new(|| { vec![ - Signal::builder( - "removed", - &[Account::static_type().into()], - <()>::static_type().into(), - ) - .action() - .build(), - Signal::builder("provider-changed", &[], <()>::static_type().into()) + Signal::builder("removed") + .param_types([Account::static_type()]) .action() .build(), + Signal::builder("provider-changed").action().build(), ] }); SIGNALS.as_ref() } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); self.qrcode_picture .set_paintable(Some(&self.qrcode_paintable)); self.counter_label.set_adjustment(1, u32::MAX); } } impl WidgetImpl for AccountDetailsPage { - fn unmap(&self, widget: &Self::Type) { - self.parent_unmap(widget); + fn unmap(&self) { + self.parent_unmap(); self.edit_stack.set_visible_child_name("edit"); self.account_label.stop_editing(false); self.counter_label.stop_editing(false); diff --git a/src/widgets/accounts/qrcode_paintable.rs b/src/widgets/accounts/qrcode_paintable.rs index 389baea..d06d678 100644 --- a/src/widgets/accounts/qrcode_paintable.rs +++ b/src/widgets/accounts/qrcode_paintable.rs @@ -82,17 +82,9 @@ mod imp { impl ObjectImpl for QRCodePaintable {} impl PaintableImpl for QRCodePaintable { - fn snapshot( - &self, - _paintable: &Self::Type, - snapshot: &gdk::Snapshot, - width: f64, - height: f64, - ) { - let snapshot = snapshot.downcast_ref::().unwrap(); - + fn snapshot(&self, snapshot: &gdk::Snapshot, width: f64, height: f64) { if let Some(ref qrcode) = *self.qrcode.borrow() { - snapshot_qrcode(snapshot, qrcode, width, height); + snapshot_qrcode(snapshot.as_ref(), qrcode, width, height); } } } @@ -112,6 +104,6 @@ impl QRCodePaintable { impl Default for QRCodePaintable { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create a QRCodePaintable") + glib::Object::new(&[]) } } diff --git a/src/widgets/accounts/row.rs b/src/widgets/accounts/row.rs index 81e6e6d..8116057 100644 --- a/src/widgets/accounts/row.rs +++ b/src/widgets/accounts/row.rs @@ -1,13 +1,13 @@ use std::cell::RefCell; -use gtk::{gdk, glib, prelude::*, subclass::prelude::*, CompositeTemplate}; +use gtk::{gdk, glib, prelude::*, CompositeTemplate}; use crate::models::{Account, OTPMethod}; mod imp { use adw::subclass::prelude::*; use gettextrs::gettext; - use glib::{subclass, ParamFlags, ParamSpec, ParamSpecObject, Value}; + use glib::{subclass, ParamSpec, ParamSpecObject, Value}; use once_cell::sync::Lazy; use super::*; @@ -62,17 +62,13 @@ mod imp { impl ObjectImpl for AccountRow { fn properties() -> &'static [ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { - vec![ParamSpecObject::new( - "account", - "", - "", - Account::static_type(), - ParamFlags::READWRITE | ParamFlags::CONSTRUCT_ONLY, - )] + vec![ParamSpecObject::builder::("account") + .construct_only() + .build()] }); PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "account" => { let account = value.get().unwrap(); @@ -82,23 +78,24 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "account" => self.account.borrow().to_value(), _ => unimplemented!(), } } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); + let obj = self.obj(); let account = obj.account(); account - .bind_property("name", obj, "title") + .bind_property("name", &*obj, "title") .flags(glib::BindingFlags::DEFAULT | glib::BindingFlags::SYNC_CREATE) .build(); account - .bind_property("name", obj, "tooltip-text") + .bind_property("name", &*obj, "tooltip-text") .flags(glib::BindingFlags::DEFAULT | glib::BindingFlags::SYNC_CREATE) .build(); @@ -125,7 +122,7 @@ glib::wrapper! { impl AccountRow { pub fn new(account: Account) -> Self { - glib::Object::new(&[("account", &account)]).expect("Failed to create AccountRow") + glib::Object::new(&[("account", &account)]) } fn account(&self) -> Account { diff --git a/src/widgets/camera.rs b/src/widgets/camera.rs index 81ec353..95da978 100644 --- a/src/widgets/camera.rs +++ b/src/widgets/camera.rs @@ -5,7 +5,7 @@ use std::{ use adw::subclass::prelude::*; use anyhow::Result; -use ashpd::{desktop::screenshot::ScreenshotProxy, zbus}; +use ashpd::desktop::screenshot::ScreenshotRequest; use gst::prelude::*; use gtk::{ gio, @@ -15,7 +15,6 @@ use gtk::{ Receiver, }, prelude::*, - subclass::prelude::*, CompositeTemplate, }; use gtk_macros::spawn; @@ -49,35 +48,31 @@ mod screenshot { } pub async fn capture(window: Option) -> Result { - let connection = zbus::Connection::session().await?; - let proxy = ScreenshotProxy::new(&connection).await?; - let uri = proxy - .screenshot( - &{ - if let Some(ref window) = window { - ashpd::WindowIdentifier::from_native(window).await - } else { - ashpd::WindowIdentifier::default() - } - }, - true, - true, - ) + let identifier = if let Some(ref window) = window { + ashpd::WindowIdentifier::from_native(window).await + } else { + ashpd::WindowIdentifier::default() + }; + let uri = ScreenshotRequest::default() + .identifier(identifier) + .modal(true) + .interactive(true) + .build() .await?; - Ok(gio::File::for_uri(&uri)) + + Ok(gio::File::for_uri(uri.as_str())) } - pub async fn stream() -> Result)>> { - let connection = zbus::Connection::session().await?; - let proxy = ashpd::desktop::camera::CameraProxy::new(&connection).await?; - if !proxy.is_camera_present().await? { + pub async fn stream() -> Result)>> { + let proxy = ashpd::desktop::camera::Camera::new().await?; + if !proxy.is_present().await? { return Ok(None); } - proxy.access_camera().await?; + proxy.request_access().await?; let stream_fd = proxy.open_pipe_wire_remote().await?; - let node_id = ashpd::desktop::camera::pipewire_node_id(stream_fd).await?; - Ok(Some((stream_fd, node_id))) + let nodes_id = ashpd::desktop::camera::pipewire_streams(stream_fd).await?; + Ok(Some((stream_fd, nodes_id))) } } @@ -150,29 +145,25 @@ mod imp { fn signals() -> &'static [Signal] { static SIGNALS: Lazy> = Lazy::new(|| { vec![ - Signal::builder("close", &[], <()>::static_type().into()) - .action() + Signal::builder("close").action().build(), + Signal::builder("code-detected") + .param_types([String::static_type()]) + .run_first() .build(), - Signal::builder( - "code-detected", - &[String::static_type().into()], - <()>::static_type().into(), - ) - .run_first() - .build(), ] }); SIGNALS.as_ref() } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); + let obj = self.obj(); obj.setup_receiver(); obj.set_state(CameraState::NotFound); self.picture.set_paintable(Some(&self.paintable)); } - fn dispose(&self, _obj: &Self::Type) { + fn dispose(&self) { self.paintable.close_pipeline(); } } @@ -238,7 +229,8 @@ impl Camera { if !self.imp().started.get() { spawn!(clone!(@weak self as camera => async move { match screenshot::stream().await { - Ok(Some((stream_fd, node_id))) => { + Ok(Some((stream_fd, nodes_id))) => { + let node_id = nodes_id.get(0).map(|s| s.node_id()); match camera.imp().paintable.set_pipewire_node_id(stream_fd, node_id) { Ok(_) => camera.start(), Err(err) => tracing::error!("Failed to start the camera stream {err}"), @@ -319,6 +311,6 @@ impl Camera { impl Default for Camera { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create a Camera") + glib::Object::new(&[]) } } diff --git a/src/widgets/camera_paintable.rs b/src/widgets/camera_paintable.rs index fe7937c..663a2cf 100644 --- a/src/widgets/camera_paintable.rs +++ b/src/widgets/camera_paintable.rs @@ -42,13 +42,13 @@ mod imp { } impl ObjectImpl for CameraPaintable { - fn dispose(&self, paintable: &Self::Type) { - paintable.close_pipeline(); + fn dispose(&self) { + self.obj().close_pipeline(); } } impl PaintableImpl for CameraPaintable { - fn intrinsic_height(&self, _paintable: &Self::Type) -> i32 { + fn intrinsic_height(&self) -> i32 { if let Some(ref paintable) = *self.sink_paintable.borrow() { paintable.intrinsic_height() } else { @@ -56,7 +56,7 @@ mod imp { } } - fn intrinsic_width(&self, _paintable: &Self::Type) -> i32 { + fn intrinsic_width(&self) -> i32 { if let Some(ref paintable) = *self.sink_paintable.borrow() { paintable.intrinsic_width() } else { @@ -64,14 +64,7 @@ mod imp { } } - fn snapshot( - &self, - _paintable: &Self::Type, - snapshot: &gdk::Snapshot, - width: f64, - height: f64, - ) { - let snapshot = snapshot.downcast_ref::().unwrap(); + fn snapshot(&self, snapshot: &gdk::Snapshot, width: f64, height: f64) { if let Some(ref image) = *self.sink_paintable.borrow() { // Transformation to avoid stretching the camera. We translate and scale the // image. @@ -79,7 +72,7 @@ mod imp { let image_aspect = image.intrinsic_aspect_ratio(); if image_aspect == 0.0 { - image.snapshot(snapshot.upcast_ref(), width, height); + image.snapshot(snapshot, width, height); return; }; @@ -94,7 +87,7 @@ mod imp { ); snapshot.translate(&p); - image.snapshot(snapshot.upcast_ref(), new_width, new_height); + image.snapshot(snapshot, new_width, new_height); } else { snapshot.append_color( &gdk::RGBA::BLACK, @@ -112,7 +105,7 @@ glib::wrapper! { impl CameraPaintable { pub fn new(sender: Sender) -> Self { - let paintable = glib::Object::new::(&[]).expect("Failed to create a CameraPaintable"); + let paintable = glib::Object::new::(&[]); paintable.imp().sender.replace(Some(sender)); paintable } @@ -123,7 +116,7 @@ impl CameraPaintable { node_id: Option, ) -> anyhow::Result<()> { let raw_fd = fd.as_raw_fd(); - let pipewire_element = gst::ElementFactory::make("pipewiresrc", None)?; + let pipewire_element = gst::ElementFactory::make_with_name("pipewiresrc", None)?; pipewire_element.set_property("fd", &raw_fd); if let Some(node_id) = node_id { pipewire_element.set_property("path", &node_id.to_string()); @@ -140,7 +133,7 @@ impl CameraPaintable { let imp = self.imp(); let pipeline = gst::Pipeline::new(None); - let sink = gst::ElementFactory::make("gtk4paintablesink", None)?; + let sink = gst::ElementFactory::make_with_name("gtk4paintablesink", None)?; let paintable = sink.property::("paintable"); paintable.connect_invalidate_contents(clone!(@weak self as pt => move |_| { @@ -151,13 +144,13 @@ impl CameraPaintable { pt.invalidate_size (); })); imp.sink_paintable.replace(Some(paintable)); - let tee = gst::ElementFactory::make("tee", None)?; - let videoconvert1 = gst::ElementFactory::make("videoconvert", None)?; - let videoconvert2 = gst::ElementFactory::make("videoconvert", None)?; - let queue1 = gst::ElementFactory::make("queue", None)?; - let queue2 = gst::ElementFactory::make("queue", None)?; - let zbar = gst::ElementFactory::make("zbar", None)?; - let fakesink = gst::ElementFactory::make("fakesink", None)?; + let tee = gst::ElementFactory::make_with_name("tee", None)?; + let videoconvert1 = gst::ElementFactory::make_with_name("videoconvert", None)?; + let videoconvert2 = gst::ElementFactory::make_with_name("videoconvert", None)?; + let queue1 = gst::ElementFactory::make_with_name("queue", None)?; + let queue2 = gst::ElementFactory::make_with_name("queue", None)?; + let zbar = gst::ElementFactory::make_with_name("zbar", None)?; + let fakesink = gst::ElementFactory::make_with_name("fakesink", None)?; pipeline.add_many(&[ &pipewire_src, diff --git a/src/widgets/editable_label.rs b/src/widgets/editable_label.rs index cbcf202..8efdc12 100644 --- a/src/widgets/editable_label.rs +++ b/src/widgets/editable_label.rs @@ -32,14 +32,14 @@ mod imp { } impl ObjectImpl for EditableLabel { - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); self.stack.set_visible_child_name("label"); } } impl WidgetImpl for EditableLabel { - fn grab_focus(&self, widget: &Self::Type) -> bool { - self.parent_grab_focus(widget); + fn grab_focus(&self) -> bool { + self.parent_grab_focus(); if self.stack.visible_child_name().as_deref() == Some("entry") { self.entry.grab_focus(); true @@ -77,14 +77,14 @@ mod imp { } impl ObjectImpl for EditableSpin { - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); self.stack.set_visible_child_name("label"); } } impl WidgetImpl for EditableSpin { - fn grab_focus(&self, widget: &Self::Type) -> bool { - self.parent_grab_focus(widget); + fn grab_focus(&self) -> bool { + self.parent_grab_focus(); if self.stack.visible_child_name().as_deref() == Some("spin") { self.spin.grab_focus(); true diff --git a/src/widgets/error_revealer.rs b/src/widgets/error_revealer.rs index db2e9bf..de3f36b 100644 --- a/src/widgets/error_revealer.rs +++ b/src/widgets/error_revealer.rs @@ -32,7 +32,7 @@ mod imp { } impl ObjectImpl for ErrorRevealer { - fn dispose(&self, _obj: &Self::Type) { + fn dispose(&self) { self.revealer.unparent(); self.label.unparent(); } diff --git a/src/widgets/preferences/camera_page.rs b/src/widgets/preferences/camera_page.rs index 83de72f..3511634 100644 --- a/src/widgets/preferences/camera_page.rs +++ b/src/widgets/preferences/camera_page.rs @@ -6,7 +6,6 @@ use gtk::{ gio, glib::{self, clone, subclass::InitializingObject}, prelude::*, - subclass::prelude::*, CompositeTemplate, }; use gtk_macros::get_action; @@ -58,7 +57,7 @@ glib::wrapper! { impl CameraPage { pub fn new(actions: gio::SimpleActionGroup) -> Self { - let page = glib::Object::new::(&[]).expect("Failed to create CameraPage"); + let page = glib::Object::new::(&[]); page.imp().actions.set(actions).unwrap(); page.setup_widget(); page diff --git a/src/widgets/preferences/password_page.rs b/src/widgets/preferences/password_page.rs index f97cc92..3daabe1 100644 --- a/src/widgets/preferences/password_page.rs +++ b/src/widgets/preferences/password_page.rs @@ -14,8 +14,6 @@ use once_cell::sync::{Lazy, OnceCell}; use crate::{config, models::keyring, utils::spawn_tokio, widgets::ErrorRevealer}; mod imp { - use glib::ParamFlags; - use super::*; #[derive(Debug, Default, CompositeTemplate)] @@ -57,18 +55,14 @@ mod imp { impl ObjectImpl for PasswordPage { fn properties() -> &'static [ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { - vec![ParamSpecBoolean::new( - "has-set-password", - "", - "", - false, - ParamFlags::READWRITE | ParamFlags::CONSTRUCT, - )] + vec![ParamSpecBoolean::builder("has-set-password") + .construct() + .build()] }); PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "has-set-password" => { let has_set_password = value.get().unwrap(); @@ -78,15 +72,16 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "has-set-password" => self.has_set_password.get().to_value(), _ => unimplemented!(), } } - fn constructed(&self, page: &Self::Type) { - self.parent_constructed(page); + fn constructed(&self) { + self.parent_constructed(); + let page = self.obj(); self.status_page.set_icon_name(Some(config::APP_ID)); page.reset_validation(); // Reset the validation whenever the password state changes @@ -97,9 +92,9 @@ mod imp { } impl WidgetImpl for PasswordPage { - fn unmap(&self, widget: &Self::Type) { - self.parent_unmap(widget); - widget.reset(); + fn unmap(&self) { + self.parent_unmap(); + self.obj().reset(); } } @@ -114,7 +109,7 @@ glib::wrapper! { #[gtk::template_callbacks] impl PasswordPage { pub fn new(actions: gio::SimpleActionGroup) -> Self { - let page = glib::Object::new::(&[]).expect("Failed to create PasswordPage"); + let page = glib::Object::new::(&[]); page.imp().actions.set(actions).unwrap(); page.setup_actions(); page diff --git a/src/widgets/preferences/window.rs b/src/widgets/preferences/window.rs index e06cee7..59f2d79 100644 --- a/src/widgets/preferences/window.rs +++ b/src/widgets/preferences/window.rs @@ -24,7 +24,7 @@ mod imp { use adw::subclass::{preferences_window::PreferencesWindowImpl, window::AdwWindowImpl}; use glib::{ subclass::{self, Signal}, - ParamFlags, ParamSpec, ParamSpecBoolean, Value, + ParamSpec, ParamSpecBoolean, Value, }; use once_cell::sync::Lazy; @@ -99,29 +99,20 @@ mod imp { impl ObjectImpl for PreferencesWindow { fn properties() -> &'static [ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { - vec![ParamSpecBoolean::new( - "has-set-password", - "", - "", - false, - ParamFlags::READWRITE | ParamFlags::CONSTRUCT, - )] + vec![ParamSpecBoolean::builder("has-set-password") + .construct() + .build()] }); PROPERTIES.as_ref() } fn signals() -> &'static [Signal] { - static SIGNALS: Lazy> = Lazy::new(|| { - vec![ - Signal::builder("restore-completed", &[], <()>::static_type().into()) - .action() - .build(), - ] - }); + static SIGNALS: Lazy> = + Lazy::new(|| vec![Signal::builder("restore-completed").action().build()]); SIGNALS.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "has-set-password" => { let has_set_password = value.get().unwrap(); @@ -131,16 +122,16 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "has-set-password" => self.has_set_password.get().to_value(), _ => unimplemented!(), } } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); - obj.setup_actions(); + fn constructed(&self) { + self.parent_constructed(); + self.obj().setup_actions(); } } impl WidgetImpl for PreferencesWindow {} @@ -156,7 +147,7 @@ glib::wrapper! { impl PreferencesWindow { pub fn new(model: ProvidersModel) -> Self { - let window = glib::Object::new::(&[]).expect("Failed to create PreferencesWindow"); + let window = glib::Object::new::(&[]); window.imp().model.set(model).unwrap(); window.setup_widget(); window diff --git a/src/widgets/progress_icon.rs b/src/widgets/progress_icon.rs index fca0526..64dcf2b 100644 --- a/src/widgets/progress_icon.rs +++ b/src/widgets/progress_icon.rs @@ -37,28 +37,29 @@ pub(crate) mod imp { PROPERTIES.as_ref() } - fn property(&self, obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { - "progress" => obj.progress().to_value(), + "progress" => self.obj().progress().to_value(), _ => unreachable!(), } } - fn set_property(&self, obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { - "progress" => obj.set_progress(value.get().unwrap()), + "progress" => self.obj().set_progress(value.get().unwrap()), _ => unreachable!(), } } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); - obj.set_valign(gtk::Align::Center); + fn constructed(&self) { + self.parent_constructed(); + self.obj().set_valign(gtk::Align::Center); } } impl WidgetImpl for ProgressIcon { - fn snapshot(&self, widget: &Self::Type, snapshot: >k::Snapshot) { + fn snapshot(&self, snapshot: >k::Snapshot) { + let widget = self.obj(); let size = widget.size() as f32; let radius = size / 2.0; let progress = 1.0 - widget.progress(); @@ -82,13 +83,9 @@ pub(crate) mod imp { snapshot.pop(); } - fn measure( - &self, - widget: &Self::Type, - _orientation: gtk::Orientation, - _for_size: i32, - ) -> (i32, i32, i32, i32) { - (widget.size(), widget.size(), -1, -1) + fn measure(&self, _orientation: gtk::Orientation, _for_size: i32) -> (i32, i32, i32, i32) { + let size = self.obj().size(); + (size, size, -1, -1) } } } diff --git a/src/widgets/providers/dialog.rs b/src/widgets/providers/dialog.rs index 3a4af12..01f572d 100644 --- a/src/widgets/providers/dialog.rs +++ b/src/widgets/providers/dialog.rs @@ -1,7 +1,7 @@ use adw::{prelude::*, subclass::prelude::*}; use gettextrs::gettext; use glib::clone; -use gtk::{glib, pango, subclass::prelude::*, CompositeTemplate}; +use gtk::{glib, pango, CompositeTemplate}; use row::ProviderActionRow; use super::ProviderPage; @@ -78,13 +78,12 @@ mod imp { impl ObjectImpl for ProvidersDialog { fn signals() -> &'static [Signal] { use once_cell::sync::Lazy; - static SIGNALS: Lazy> = Lazy::new(|| { - vec![Signal::builder("changed", &[], <()>::static_type().into()).build()] - }); + static SIGNALS: Lazy> = + Lazy::new(|| vec![Signal::builder("changed").build()]); SIGNALS.as_ref() } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); self.placeholder_page.set_icon_name(Some(config::APP_ID)); } } @@ -100,8 +99,7 @@ glib::wrapper! { #[gtk::template_callbacks] impl ProvidersDialog { pub fn new(model: ProvidersModel) -> Self { - let dialog = - glib::Object::new::(&[]).expect("Failed to create ProvidersDialog"); + let dialog = glib::Object::new::(&[]); dialog.setup_widget(model); dialog @@ -279,7 +277,7 @@ mod row { mod imp { use std::cell::RefCell; - use glib::{ParamFlags, ParamSpec, ParamSpecObject, Value}; + use glib::{ParamSpec, ParamSpecObject, Value}; use once_cell::sync::Lazy; use super::*; @@ -299,25 +297,12 @@ mod row { impl ObjectImpl for ProviderActionRow { fn properties() -> &'static [ParamSpec] { - static PROPERTIES: Lazy> = Lazy::new(|| { - vec![ParamSpecObject::new( - "provider", - "", - "", - Provider::static_type(), - ParamFlags::READWRITE, - )] - }); + static PROPERTIES: Lazy> = + Lazy::new(|| vec![ParamSpecObject::builder::("provider").build()]); PROPERTIES.as_ref() } - fn set_property( - &self, - _obj: &Self::Type, - _id: usize, - value: &Value, - pspec: &ParamSpec, - ) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "provider" => { let provider = value.get().unwrap(); @@ -327,15 +312,15 @@ mod row { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "provider" => self.provider.borrow().to_value(), _ => unimplemented!(), } } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); let hbox = gtk::Box::builder() .orientation(gtk::Orientation::Horizontal) .margin_bottom(12) @@ -348,7 +333,7 @@ mod row { self.title_label.set_wrap(true); self.title_label.set_ellipsize(pango::EllipsizeMode::End); hbox.append(&self.title_label); - obj.set_child(Some(&hbox)); + self.obj().set_child(Some(&hbox)); } } impl WidgetImpl for ProviderActionRow {} @@ -373,7 +358,7 @@ mod row { impl Default for ProviderActionRow { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create ProviderActionRow") + glib::Object::new(&[]) } } } diff --git a/src/widgets/providers/image.rs b/src/widgets/providers/image.rs index 01493ca..ce1cb3f 100644 --- a/src/widgets/providers/image.rs +++ b/src/widgets/providers/image.rs @@ -67,21 +67,15 @@ mod imp { } impl ObjectImpl for ProviderImage { - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); - obj.setup_widget(); + fn constructed(&self) { + self.parent_constructed(); + self.obj().setup_widget(); } fn properties() -> &'static [ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { vec![ - ParamSpecObject::new( - "provider", - "", - "", - Provider::static_type(), - ParamFlags::READWRITE, - ), + ParamSpecObject::builder::("provider").build(), ParamSpecUInt::new( "size", "", @@ -95,7 +89,7 @@ mod imp { }); PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "provider" => { let provider = value.get().unwrap(); @@ -109,7 +103,7 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "provider" => self.provider.borrow().to_value(), "size" => self.size.get().to_value(), diff --git a/src/widgets/providers/list.rs b/src/widgets/providers/list.rs index 9bc3df3..c64de2b 100644 --- a/src/widgets/providers/list.rs +++ b/src/widgets/providers/list.rs @@ -44,21 +44,18 @@ mod imp { } impl ObjectImpl for ProvidersList { - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); - obj.setup_widget(); + fn constructed(&self) { + self.parent_constructed(); + self.obj().setup_widget(); } fn signals() -> &'static [Signal] { use once_cell::sync::Lazy; static SIGNALS: Lazy> = Lazy::new(|| { - vec![Signal::builder( - "shared", - &[Account::static_type().into()], - <()>::static_type().into(), - ) - .action() - .build()] + vec![Signal::builder("shared") + .param_types([Account::static_type()]) + .action() + .build()] }); SIGNALS.as_ref() } diff --git a/src/widgets/providers/page.rs b/src/widgets/providers/page.rs index 43b6c18..b3fe070 100644 --- a/src/widgets/providers/page.rs +++ b/src/widgets/providers/page.rs @@ -134,35 +134,26 @@ mod imp { use once_cell::sync::Lazy; static SIGNALS: Lazy> = Lazy::new(|| { vec![ - Signal::builder( - "created", - &[Provider::static_type().into()], - <()>::static_type().into(), - ) - .build(), - Signal::builder( - "updated", - &[Provider::static_type().into()], - <()>::static_type().into(), - ) - .build(), - Signal::builder( - "deleted", - &[Provider::static_type().into()], - <()>::static_type().into(), - ) - .build(), + Signal::builder("created") + .param_types([Provider::static_type()]) + .build(), + Signal::builder("updated") + .param_types([Provider::static_type()]) + .build(), + Signal::builder("deleted") + .param_types([Provider::static_type()]) + .build(), ] }); SIGNALS.as_ref() } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); self.algorithm_comborow .set_model(Some(&self.algorithms_model)); self.method_comborow.set_model(Some(&self.methods_model)); - obj.action_set_enabled("providers.save", false); + self.obj().action_set_enabled("providers.save", false); } } impl WidgetImpl for ProviderPage {} @@ -431,6 +422,6 @@ impl ProviderPage { impl Default for ProviderPage { fn default() -> Self { - glib::Object::new(&[]).expect("Failed to create ProviderPage") + glib::Object::new(&[]) } } diff --git a/src/widgets/providers/row.rs b/src/widgets/providers/row.rs index 7b08b0b..59888b2 100644 --- a/src/widgets/providers/row.rs +++ b/src/widgets/providers/row.rs @@ -13,7 +13,7 @@ mod imp { use glib::{ subclass::{self, Signal}, - ParamFlags, ParamSpec, ParamSpecObject, Value, + ParamSpec, ParamSpecObject, Value, }; use once_cell::sync::Lazy; @@ -51,13 +51,9 @@ mod imp { impl ObjectImpl for ProviderRow { fn properties() -> &'static [ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { - vec![ParamSpecObject::new( - "provider", - "", - "", - Provider::static_type(), - ParamFlags::READWRITE | ParamFlags::CONSTRUCT_ONLY, - )] + vec![ParamSpecObject::builder::("provider") + .construct_only() + .build()] }); PROPERTIES.as_ref() } @@ -65,22 +61,17 @@ mod imp { fn signals() -> &'static [Signal] { static SIGNALS: Lazy> = Lazy::new(|| { vec![ - Signal::builder("changed", &[], <()>::static_type().into()) + Signal::builder("changed").action().build(), + Signal::builder("shared") + .param_types([Account::static_type()]) .action() .build(), - Signal::builder( - "shared", - &[Account::static_type().into()], - <()>::static_type().into(), - ) - .action() - .build(), ] }); SIGNALS.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "provider" => { let provider = value.get().unwrap(); @@ -90,16 +81,16 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "provider" => self.provider.borrow().to_value(), _ => unimplemented!(), } } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); - obj.setup_widget(); + fn constructed(&self) { + self.parent_constructed(); + self.obj().setup_widget(); } } impl WidgetImpl for ProviderRow {} @@ -113,7 +104,7 @@ glib::wrapper! { impl ProviderRow { pub fn new(provider: Provider) -> Self { - glib::Object::new(&[("provider", &provider)]).expect("Failed to create ProviderRow") + glib::Object::new(&[("provider", &provider)]) } pub fn connect_changed(&self, callback: F) -> glib::SignalHandlerId diff --git a/src/widgets/url_row.rs b/src/widgets/url_row.rs index e0f8be6..19e656a 100644 --- a/src/widgets/url_row.rs +++ b/src/widgets/url_row.rs @@ -1,12 +1,14 @@ use adw::prelude::*; -use glib::{clone, ToValue}; -use gtk::{glib, subclass::prelude::*}; +use gtk::{ + glib::{self, clone}, + subclass::prelude::*, +}; mod imp { use std::cell::RefCell; use adw::subclass::prelude::*; - use glib::{ParamFlags, ParamSpec, ParamSpecString, Value}; + use glib::{ParamSpec, ParamSpecString, Value}; use once_cell::sync::Lazy; use super::*; @@ -25,19 +27,12 @@ mod imp { impl ObjectImpl for UrlRow { fn properties() -> &'static [ParamSpec] { - static PROPERTIES: Lazy> = Lazy::new(|| { - vec![ParamSpecString::new( - "uri", - "", - "", - None, - ParamFlags::READWRITE, - )] - }); + static PROPERTIES: Lazy> = + Lazy::new(|| vec![ParamSpecString::builder("uri").build()]); PROPERTIES.as_ref() } - fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) { + fn set_property(&self, _id: usize, value: &Value, pspec: &ParamSpec) { match pspec.name() { "uri" => { let uri = value.get().unwrap(); @@ -47,15 +42,16 @@ mod imp { } } - fn property(&self, _obj: &Self::Type, _id: usize, pspec: &ParamSpec) -> Value { + fn property(&self, _id: usize, pspec: &ParamSpec) -> Value { match pspec.name() { "uri" => self.uri.borrow().to_value(), _ => unimplemented!(), } } - fn constructed(&self, obj: &Self::Type) { - self.parent_constructed(obj); + fn constructed(&self) { + self.parent_constructed(); + let obj = self.obj(); let gesture = gtk::GestureClick::new(); gesture.connect_pressed(clone!(@weak obj as row => move |_,_,_,_| { if let Some(ref uri) = *row.imp().uri.borrow() { diff --git a/src/widgets/window.rs b/src/widgets/window.rs index 6900adc..1c87094 100644 --- a/src/widgets/window.rs +++ b/src/widgets/window.rs @@ -105,18 +105,18 @@ mod imp { impl ObjectImpl for Window {} impl WidgetImpl for Window {} impl WindowImpl for Window { - fn enable_debugging(&self, window: &Self::Type, toggle: bool) -> bool { + fn enable_debugging(&self, toggle: bool) -> bool { if config::PROFILE != "Devel" { tracing::warn!("Inspector is disabled for non development builds"); false } else { - self.parent_enable_debugging(window, toggle) + self.parent_enable_debugging(toggle) } } - fn close_request(&self, window: &Self::Type) -> Inhibit { - self.parent_close_request(window); - if let Err(err) = window.save_window_state() { + fn close_request(&self) -> Inhibit { + self.parent_close_request(); + if let Err(err) = self.obj().save_window_state() { tracing::warn!("Failed to save window state {:#?}", err); } Inhibit(false) @@ -136,7 +136,7 @@ glib::wrapper! { #[gtk::template_callbacks] impl Window { pub fn new(model: ProvidersModel, app: &Application) -> Self { - let window = glib::Object::new::(&[("application", app)]).unwrap(); + let window = glib::Object::new::(&[("application", app)]); app.add_window(&window); if config::PROFILE == "Devel" {