From 36b2f1097e348cc9ff20855d1aa97a3a065db895 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Thu, 18 Jul 2024 15:01:30 +0200 Subject: [PATCH] Update dependencies, use new clone syntax --- Cargo.lock | 727 ++++++++++++------------- Cargo.toml | 6 +- src/editor/activatable_row.rs | 43 +- src/editor/work_editor.rs | 61 ++- src/editor/work_editor_composer_row.rs | 46 +- src/home_page.rs | 17 +- src/player.rs | 36 +- src/player_bar.rs | 59 +- src/playlist_page.rs | 6 +- src/program.rs | 5 +- src/search_entry.rs | 61 ++- src/window.rs | 26 +- 12 files changed, 603 insertions(+), 490 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4fe3cf9..f532a1c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -28,9 +28,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "atomic_refcell" @@ -40,9 +40,9 @@ checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "bitflags" @@ -52,9 +52,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "block" @@ -64,48 +64,45 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "cairo-rs" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c" +checksum = "797fd5a634dcb0ad0d7d583df794deb0a236d88e759cd34b7da20198c6c9d145" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "cairo-sys-rs", - "glib 0.19.2", + "glib 0.20.0", "libc", "thiserror", ] [[package]] name = "cairo-sys-rs" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64" +checksum = "428290f914b9b86089f60f5d8a9f6e440508e1bcff23b25afd51502b0a2da88f" dependencies = [ - "glib-sys 0.19.0", + "glib-sys 0.20.0", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "cc" -version = "1.0.83" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" [[package]] name = "cfg-expr" -version = "0.15.5" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", "target-lexicon", @@ -119,29 +116,29 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets", ] [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -149,27 +146,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] @@ -193,9 +190,9 @@ dependencies = [ [[package]] name = "diesel" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35b696af9ff4c0d2a507db2c5faafa8aa0205e297e5f11e203a24226d5355e7a" +checksum = "62d6dcd069e7b5fe49a302411f759d4cf1cf2c27fe798ef46fb8baefc053dd2b" dependencies = [ "chrono", "diesel_derives", @@ -205,15 +202,15 @@ dependencies = [ [[package]] name = "diesel_derives" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6fdd83d5947068817016e939596d246e5367279453f2a3433287894f2f2996" +checksum = "59de76a222c2b8059f789cbe07afbfd8deb8c31dd0bc2a21f85e256c1def8259" dependencies = [ "diesel_table_macro_syntax", "dsl_auto_type", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] @@ -233,28 +230,28 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" dependencies = [ - "syn 2.0.39", + "syn 2.0.71", ] [[package]] name = "dsl_auto_type" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab32c18ea6760d951659768a3e35ea72fc1ba0916d665a88dfe048b2a41e543f" +checksum = "0892a17df262a24294c382f0d5997571006e7a4348b4327557c4ff1cd4a8bccc" dependencies = [ "darling", "either", "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "equivalent" @@ -286,24 +283,24 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -312,32 +309,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-macro", @@ -349,66 +346,66 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92" +checksum = "28bb53ecb56857c683c9ec859908e076dd3969c7d67598bd8b1ce095d211304a" dependencies = [ "gdk-pixbuf-sys", "gio", - "glib 0.19.2", + "glib 0.20.0", "libc", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96" +checksum = "9f6681a0c1330d1d3968bec1529f7172d62819ef0bdbb0d18022320654158b03" dependencies = [ "gio-sys", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gdk4" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b" +checksum = "4b7d7237c1487ed4b300aac7744efcbf1319e12d60d7afcd6f505414bd5b5dea" dependencies = [ "cairo-rs", "gdk-pixbuf", "gdk4-sys", "gio", - "glib 0.19.2", + "glib 0.20.0", "libc", "pango", ] [[package]] name = "gdk4-sys" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626" +checksum = "a67576c8ec012156d7f680e201a807b4432a77babb3157e0555e990ab6bcd878" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gio-sys", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "libc", "pango-sys", "pkg-config", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -437,16 +434,16 @@ dependencies = [ [[package]] name = "gio" -version = "0.19.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64947d08d7fbb03bf8ad1f25a8ac6cf4329bc772c9b7e5abe7bf9493c81194f" +checksum = "398e3da68749fdc32783cbf7521ec3f65c9cf946db8c7774f8460af49e52c6e2" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-util", "gio-sys", - "glib 0.19.2", + "glib 0.20.0", "libc", "pin-project-lite", "smallvec", @@ -455,14 +452,14 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4" +checksum = "e4feb96b31c32730ea3e1e89aecd2e4e37ecb1c473ad8f685e3430a159419f63" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "libc", - "system-deps", + "system-deps 7.0.1", "windows-sys", ] @@ -488,20 +485,20 @@ dependencies = [ [[package]] name = "glib" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053" +checksum = "fee90a615ce05be7a32932cfb8adf2c4bbb4700e80d37713c981fb24c0c56238" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "futures-channel", "futures-core", "futures-executor", "futures-task", "futures-util", "gio-sys", - "glib-macros 0.19.2", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-macros 0.20.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "libc", "memchr", "smallvec", @@ -525,15 +522,15 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8" +checksum = "4da558d8177c0c8c54368818b508a4244e1286fce2858cef4e547023f0cfa5ef" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] @@ -543,17 +540,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" dependencies = [ "libc", - "system-deps", + "system-deps 6.2.2", ] [[package]] name = "glib-sys" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4" +checksum = "4958c26e5a01c9af00dea669a97369eccbec29a8e6d125c24ea2d85ee7467b60" dependencies = [ "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] @@ -564,52 +561,52 @@ checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" dependencies = [ "glib-sys 0.15.10", "libc", - "system-deps", + "system-deps 6.2.2", ] [[package]] name = "gobject-sys" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979" +checksum = "c6908864f5ffff15b56df7e90346863904f49b949337ed0456b9287af61903b8" dependencies = [ - "glib-sys 0.19.0", + "glib-sys 0.20.0", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "graphene-rs" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91" +checksum = "630e940ad5824f90221d6579043a9cd1f8bec86b4a17faaf7827d58eb16e8c1f" dependencies = [ - "glib 0.19.2", + "glib 0.20.0", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0" +checksum = "6fb8fade7b754982f47ebbed241fd2680816fdd4598321784da10b9e1168836a" dependencies = [ - "glib-sys 0.19.0", + "glib-sys 0.20.0", "libc", "pkg-config", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gsk4" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e" +checksum = "1f3cf2091e1af185b347b3450817d93dea6fe435df7abd4c2cd7fb5bcb4cfda8" dependencies = [ "cairo-rs", "gdk4", - "glib 0.19.2", + "glib 0.20.0", "graphene-rs", "gsk4-sys", "libc", @@ -618,31 +615,31 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738" +checksum = "6aa69614a26d8760c186c3690f1b0fbb917572ca23ef83137445770ceddf8cde" dependencies = [ "cairo-sys-rs", "gdk4-sys", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "graphene-sys", "libc", "pango-sys", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gstreamer" -version = "0.22.2" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48a5e10c539f8b594c50f6cd1bd1cd07785e06d701a077bff397ad211bc92e88" +checksum = "21e95b1d1153239a621ec143501fdcca6c1ad3efb87d268597285f85c4136f73" dependencies = [ "cfg-if", "futures-channel", "futures-core", "futures-util", - "glib 0.19.2", + "glib 0.20.0", "gstreamer-sys", "itertools", "libc", @@ -659,13 +656,13 @@ dependencies = [ [[package]] name = "gstreamer-base" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514c71195b53c7eced4842b66ca9149833e41cf6a1d949e45e2ca4a4fa929850" +checksum = "a3faa0b3cf361bf538dcb25b5cb7f6e73bd872ed031d85f3997b42d3fbd66409" dependencies = [ "atomic_refcell", "cfg-if", - "glib 0.19.2", + "glib 0.20.0", "gstreamer", "gstreamer-base-sys", "libc", @@ -673,24 +670,24 @@ dependencies = [ [[package]] name = "gstreamer-base-sys" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "286591e0f85bbda1adf9bab6f21d015acd9ca0a4d4acb61da65e3d0487e23c4e" +checksum = "4a6643ef963c636b8022adc93aa19eac6f356bd174a187c499339fc5d64c1e05" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "gstreamer-sys", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gstreamer-play" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cd4315d97f8f38a6a6fdaad27d51cc67fd132785816091ad9985e197d2c052" +checksum = "fcc9fac3926d08f882d5a7b98fc7780b2ea812cbebc0c56c56c7186bde34fcdd" dependencies = [ - "glib 0.19.2", + "glib 0.20.0", "gstreamer", "gstreamer-play-sys", "gstreamer-video", @@ -699,39 +696,39 @@ dependencies = [ [[package]] name = "gstreamer-play-sys" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19def7b12d3a53c520ad661b8f4501ae04158627e4a9fc49cc30c4ea04522cbf" +checksum = "37ffb862566a025cb5477089bbcdb15cc871e317ad451169835a2c06efaa7097" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "gstreamer-sys", "gstreamer-video-sys", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gstreamer-sys" -version = "0.22.2" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5ddf526b3bf90ea627224c804f00b8bcb0452e3b447978b4d5092f8e8ff5918" +checksum = "d9c9005b55dd2b1784645963c1ec409f9d420a56f6348d0ae69c2eaff584bcc3" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gstreamer-video" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab3f4045ddb92bf2b469f5db8825d4f5eb46e4beff661fc97f50bb4e2b2c626" +checksum = "57332bca1ae7825a53fe57d993b63389f132d335aed691ac76f0ffe4304548e3" dependencies = [ "cfg-if", "futures-channel", - "glib 0.19.2", + "glib 0.20.0", "gstreamer", "gstreamer-base", "gstreamer-video-sys", @@ -742,23 +739,23 @@ dependencies = [ [[package]] name = "gstreamer-video-sys" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ea7996ba44fbbf563aeeda96e24259efc9f06b407854d837ee58e260d7ba78" +checksum = "0f5c334d143384e8dc714af948c2e5d7d12cb588fdcfb56f3bf37c24daf350ef" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "gstreamer-base-sys", "gstreamer-sys", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "gtk4" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83" +checksum = "eaffc6c743c9160514cc9b67eace364e5dc5798369fa809cdb04e035c21c5c5d" dependencies = [ "cairo-rs", "field-offset", @@ -766,7 +763,7 @@ dependencies = [ "gdk-pixbuf", "gdk4", "gio", - "glib 0.19.2", + "glib 0.20.0", "graphene-rs", "gsk4", "gtk4-macros", @@ -777,42 +774,40 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567" +checksum = "188211f546ce5801f6d0245c37b6249143a2cb4fa040e54829ca1e76796e9f09" dependencies = [ - "anyhow", "proc-macro-crate 3.1.0", - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.71", ] [[package]] name = "gtk4-sys" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18" +checksum = "1114a207af8ada02cf4658a76692f4190f06f093380d5be07e3ca8b43aa7c666" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", "gio-sys", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "graphene-sys", "gsk4-sys", "libc", "pango-sys", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "heck" @@ -828,9 +823,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -857,9 +852,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown", @@ -867,44 +862,43 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libadwaita" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9" +checksum = "2ff9c222b5c783729de45185f07b2fec2d43a7f9c63961e777d3667e20443878" dependencies = [ - "gdk-pixbuf", "gdk4", "gio", - "glib 0.19.2", + "glib 0.20.0", "gtk4", "libadwaita-sys", "libc", @@ -913,25 +907,25 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8" +checksum = "1c44d8bdbad31d6639e1f20cc9c1424f1a8e02d751fc28d44659bf743fb9eca6" dependencies = [ "gdk4-sys", "gio-sys", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "gtk4-sys", "libc", "pango-sys", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "libc" -version = "0.2.150" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libdbus-sys" @@ -967,9 +961,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "malloc_buf" @@ -982,15 +976,15 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -1073,30 +1067,28 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -1132,9 +1124,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "option-operations" @@ -1153,39 +1145,39 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.19.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1264d13deb823cc652f26cfe59afb1ec4b9db2a5bd27c41b738c879cc1bfaa1" +checksum = "54768854025df6903061d0084fd9702a253ddfd60db7d9b751d43b76689a7f0a" dependencies = [ "gio", - "glib 0.19.2", + "glib 0.20.0", "libc", "pango-sys", ] [[package]] name = "pango-sys" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea" +checksum = "b07cc57d10cee4ec661f718a6902cee18c2f4cfae08e87e5a390525946913390" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys 0.20.0", + "gobject-sys 0.20.0", "libc", - "system-deps", + "system-deps 7.0.1", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -1221,7 +1213,7 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.21.0", + "toml_edit 0.21.1", ] [[package]] @@ -1250,27 +1242,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] [[package]] name = "regex" -version = "1.10.2" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -1280,9 +1272,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -1291,9 +1283,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "rustc_version" @@ -1306,41 +1298,41 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "semver" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] name = "serde_json" -version = "1.0.109" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -1349,9 +1341,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -1376,9 +1368,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "strsim" @@ -1399,9 +1391,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.39" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -1410,12 +1402,25 @@ dependencies = [ [[package]] name = "system-deps" -version = "6.2.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ "cfg-expr", - "heck 0.4.1", + "heck 0.5.0", + "pkg-config", + "toml", + "version-compare", +] + +[[package]] +name = "system-deps" +version = "7.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c81f13d9a334a6c242465140bd262fae382b752ff2011c4f7419919a9c97922" +dependencies = [ + "cfg-expr", + "heck 0.5.0", "pkg-config", "toml", "version-compare", @@ -1423,41 +1428,41 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "temp-dir" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab" +checksum = "1f227968ec00f0e5322f9b8173c7a0cbcff6181a0a5b28e9892491c286277231" [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -1465,9 +1470,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -1486,9 +1491,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -1496,21 +1501,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.16", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -1523,20 +1528,31 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ "indexmap", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.13", ] [[package]] @@ -1582,9 +1598,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "uuid" -version = "1.6.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", ] @@ -1603,9 +1619,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-compare" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" [[package]] name = "version_check" @@ -1621,9 +1637,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1631,24 +1647,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1656,22 +1672,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "winapi" @@ -1697,11 +1713,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets", ] [[package]] @@ -1710,128 +1726,87 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets", ] [[package]] name = "windows-targets" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" -dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] -name = "windows_i686_gnu" -version = "0.52.4" +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.19" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 674249e..2dac53f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,15 +4,15 @@ version = "0.1.0" edition = "2021" [dependencies] -adw = { package = "libadwaita", version = "0.6", features = ["v1_5"] } +adw = { package = "libadwaita", version = "0.7", features = ["v1_5"] } anyhow = "1" chrono = "0.4" diesel = { version = "2.2", features = ["chrono", "sqlite"] } diesel_migrations = "2.2" fragile = "2" gettext-rs = { version = "0.7", features = ["gettext-system"] } -gstreamer-play = "0.22" -gtk = { package = "gtk4", version = "0.8", features = ["v4_12", "blueprint"] } +gstreamer-play = "0.23" +gtk = { package = "gtk4", version = "0.9", features = ["v4_12", "blueprint"] } lazy_static = "1" log = "0.4" mpris-player = "0.6" diff --git a/src/editor/activatable_row.rs b/src/editor/activatable_row.rs index e8066ee..63751d2 100644 --- a/src/editor/activatable_row.rs +++ b/src/editor/activatable_row.rs @@ -28,24 +28,37 @@ mod imp { self.parent_constructed(); let obj = self.obj(); - obj.connect_parent_notify(clone!(@weak obj => move |_: &super::MusicusActivatableRow| { - let previous_parent = obj.imp().previous_parent.borrow_mut().take(); - let previous_signal_handler_id = obj.imp().previous_signal_handler_id.borrow_mut().take(); - if let (Some(previous_parent), Some(previous_signal_handler_id)) = (previous_parent, previous_signal_handler_id) { - previous_parent.disconnect(previous_signal_handler_id); - } + obj.connect_parent_notify(clone!( + #[weak] + obj, + move |_: &super::MusicusActivatableRow| { + let previous_parent = obj.imp().previous_parent.borrow_mut().take(); + let previous_signal_handler_id = + obj.imp().previous_signal_handler_id.borrow_mut().take(); + if let (Some(previous_parent), Some(previous_signal_handler_id)) = + (previous_parent, previous_signal_handler_id) + { + previous_parent.disconnect(previous_signal_handler_id); + } - if let Some(parent) = obj.parent().and_downcast::() { - let signal_handler_id = parent.connect_row_activated(clone!(@weak obj => move |_: >k::ListBox, row: >k::ListBoxRow| { - if *row == obj { - obj.activate(); - } - })); + if let Some(parent) = obj.parent().and_downcast::() { + let signal_handler_id = parent.connect_row_activated(clone!( + #[weak] + obj, + move |_: >k::ListBox, row: >k::ListBoxRow| { + if *row == obj { + obj.activate(); + } + } + )); - obj.imp().previous_parent.replace(Some(parent)); - obj.imp().previous_signal_handler_id.replace(Some(signal_handler_id)); + obj.imp().previous_parent.replace(Some(parent)); + obj.imp() + .previous_signal_handler_id + .replace(Some(signal_handler_id)); + } } - })); + )); } fn signals() -> &'static [Signal] { diff --git a/src/editor/work_editor.rs b/src/editor/work_editor.rs index 6085bab..adc29fe 100644 --- a/src/editor/work_editor.rs +++ b/src/editor/work_editor.rs @@ -88,9 +88,13 @@ mod imp { persons_popover.connect_create(move |_| { let editor = MusicusPersonEditor::new(&obj.navigation(), &obj.library(), None); - editor.connect_created(clone!(@weak obj => move |_, person| { - obj.add_composer(person); - })); + editor.connect_created(clone!( + #[weak] + obj, + move |_, person| { + obj.add_composer(person); + } + )); obj.navigation().push(&editor); }); @@ -114,12 +118,21 @@ mod imp { .css_classes(["flat"]) .build(); - remove_button.connect_clicked( - clone!(@weak obj, @weak row, @strong instrument => move |_| { + remove_button.connect_clicked(clone!( + #[weak] + obj, + #[weak] + row, + #[strong] + instrument, + move |_| { obj.imp().instrument_list.remove(&row); - obj.imp().instruments.borrow_mut().retain(|i| *i != instrument); - }), - ); + obj.imp() + .instruments + .borrow_mut() + .retain(|i| *i != instrument); + } + )); row.add_suffix(&remove_button); @@ -184,12 +197,18 @@ impl MusicusWorkEditor { .css_classes(["flat"]) .build(); - remove_button.connect_clicked( - clone!(@weak self as obj, @weak row, @strong part => move |_| { - obj.imp().part_list.remove(&row); - obj.imp().parts.borrow_mut().retain(|p| *p != part); - }), - ); + remove_button.connect_clicked(clone!( + #[weak(rename_to = this)] + self, + #[weak] + row, + #[strong] + part, + move |_| { + this.imp().part_list.remove(&row); + this.imp().parts.borrow_mut().retain(|p| *p != part); + } + )); row.add_suffix(&remove_button); @@ -210,12 +229,16 @@ impl MusicusWorkEditor { fn add_composer(&self, person: Person) { let role = self.library().composer_default_role().unwrap(); let composer = Composer { person, role }; - let row = MusicusWorkEditorComposerRow::new(&self.library(), composer); + let row = MusicusWorkEditorComposerRow::new(&self.navigation(), &self.library(), composer); - row.connect_remove(clone!(@weak self as obj => move |row| { - obj.imp().composer_list.remove(row); - obj.imp().composer_rows.borrow_mut().retain(|c| c != row); - })); + row.connect_remove(clone!( + #[weak(rename_to = this)] + self, + move |row| { + this.imp().composer_list.remove(row); + this.imp().composer_rows.borrow_mut().retain(|c| c != row); + } + )); self.imp() .composer_list diff --git a/src/editor/work_editor_composer_row.rs b/src/editor/work_editor_composer_row.rs index 1e1b5c4..510f9cb 100644 --- a/src/editor/work_editor_composer_row.rs +++ b/src/editor/work_editor_composer_row.rs @@ -1,14 +1,14 @@ -use crate::{ - db::models::{Composer, Role}, - editor::role_selector_popover::MusicusRoleSelectorPopover, - library::MusicusLibrary, -}; +use std::cell::{OnceCell, RefCell}; use adw::{prelude::*, subclass::prelude::*}; -use gtk::glib::{self, subclass::Signal, Properties}; +use gtk::glib::{self, clone, subclass::Signal, Properties}; use once_cell::sync::Lazy; -use std::cell::{OnceCell, RefCell}; +use crate::{ + db::models::{Composer, Role}, + editor::{role_editor::MusicusRoleEditor, role_selector_popover::MusicusRoleSelectorPopover}, + library::MusicusLibrary, +}; mod imp { use super::*; @@ -17,6 +17,9 @@ mod imp { #[properties(wrapper_type = super::MusicusWorkEditorComposerRow)] #[template(file = "data/ui/work_editor_composer_row.blp")] pub struct MusicusWorkEditorComposerRow { + #[property(get, construct_only)] + pub navigation: OnceCell, + #[property(get, construct_only)] pub library: OnceCell, @@ -67,6 +70,24 @@ mod imp { } }); + let obj = self.obj().to_owned(); + role_popover.connect_create(move |_| { + let editor = MusicusRoleEditor::new(&obj.navigation(), &obj.library(), None); + + editor.connect_created(clone!( + #[weak] + obj, + move |_, role| { + if let Some(composer) = &mut *obj.imp().composer.borrow_mut() { + obj.imp().role_label.set_label(&role.to_string()); + composer.role = role; + }; + } + )); + + obj.navigation().push(&editor); + }); + self.role_box.append(&role_popover); self.role_popover.set(role_popover).unwrap(); } @@ -85,8 +106,15 @@ glib::wrapper! { #[gtk::template_callbacks] impl MusicusWorkEditorComposerRow { - pub fn new(library: &MusicusLibrary, composer: Composer) -> Self { - let obj: Self = glib::Object::builder().property("library", library).build(); + pub fn new( + navigation: &adw::NavigationView, + library: &MusicusLibrary, + composer: Composer, + ) -> Self { + let obj: Self = glib::Object::builder() + .property("navigation", navigation) + .property("library", library) + .build(); obj.set_composer(composer); obj } diff --git a/src/home_page.rs b/src/home_page.rs index 836bf5d..9487152 100644 --- a/src/home_page.rs +++ b/src/home_page.rs @@ -3,7 +3,7 @@ use std::cell::{OnceCell, RefCell}; use adw::subclass::{navigation_page::NavigationPageImpl, prelude::*}; use gtk::{ gio, - glib::{self, clone, Properties}, + glib::{self, Properties}, prelude::*, }; @@ -97,10 +97,10 @@ mod imp { self.search_entry.set_key_capture_widget(&*self.obj()); - self.search_entry - .connect_query_changed(clone!(@weak self as _self => move |entry| { - _self.obj().query(&entry.query()); - })); + let obj = self.obj().to_owned(); + self.search_entry.connect_query_changed(move |entry| { + obj.query(&entry.query()); + }); self.player .get() @@ -333,8 +333,11 @@ impl MusicusHomePage { } for recording in &results.recordings { - imp.recordings_flow_box - .append(&MusicusRecordingTile::new(recording)); + imp.recordings_flow_box.append(&MusicusRecordingTile::new( + &self.navigation(), + &self.library(), + recording, + )); } for album in &results.albums { diff --git a/src/player.rs b/src/player.rs index ef43665..239b837 100644 --- a/src/player.rs +++ b/src/player.rs @@ -137,12 +137,36 @@ mod imp { mpris.set_can_set_fullscreen(false); let obj = self.obj(); - mpris.connect_raise(clone!(@weak obj => move || obj.emit_by_name::<()>("raise", &[]))); - mpris.connect_play(clone!(@weak obj => move || obj.play())); - mpris.connect_pause(clone!(@weak obj => move || obj.pause())); - mpris.connect_play_pause(clone!(@weak obj => move || obj.play_pause())); - mpris.connect_previous(clone!(@weak obj => move || obj.previous())); - mpris.connect_next(clone!(@weak obj => move || obj.next())); + mpris.connect_raise(clone!( + #[weak] + obj, + move || obj.emit_by_name::<()>("raise", &[]) + )); + mpris.connect_play(clone!( + #[weak] + obj, + move || obj.play() + )); + mpris.connect_pause(clone!( + #[weak] + obj, + move || obj.pause() + )); + mpris.connect_play_pause(clone!( + #[weak] + obj, + move || obj.play_pause() + )); + mpris.connect_previous(clone!( + #[weak] + obj, + move || obj.previous() + )); + mpris.connect_next(clone!( + #[weak] + obj, + move || obj.next() + )); self.mpris.set(mpris).expect("mpris should not be set"); diff --git a/src/player_bar.rs b/src/player_bar.rs index b2a6690..b3d72fe 100644 --- a/src/player_bar.rs +++ b/src/player_bar.rs @@ -70,8 +70,7 @@ mod imp { .set_label(&format_time(current_time_ms)); self.remaining_time_label.set_label(&format_time( - player - .duration_ms().saturating_sub(current_time_ms), + player.duration_ms().saturating_sub(current_time_ms), )); } } @@ -121,24 +120,38 @@ mod imp { .sync_create() .build(); - let obj = self.obj().clone(); + let obj = self.obj(); - player.connect_current_index_notify( - clone!(@weak obj => move |_| obj.imp().update_item()), - ); - player.playlist().connect_items_changed( - clone!(@weak obj => move |_, _, _, _| obj.imp().update_item()), - ); + player.connect_current_index_notify(clone!( + #[weak] + obj, + move |_| obj.imp().update_item() + )); + player.playlist().connect_items_changed(clone!( + #[weak] + obj, + move |_, _, _, _| obj.imp().update_item() + )); - player - .connect_position_ms_notify(clone!(@weak obj => move |_| obj.imp().update_time())); - player - .connect_duration_ms_notify(clone!(@weak obj => move |_| obj.imp().update_time())); + player.connect_position_ms_notify(clone!( + #[weak] + obj, + move |_| obj.imp().update_time() + )); + player.connect_duration_ms_notify(clone!( + #[weak] + obj, + move |_| obj.imp().update_time() + )); let seeking_controller = gtk::EventControllerLegacy::new(); - seeking_controller.connect_event( - clone!(@weak obj => @default-return glib::Propagation::Proceed, move |_, event| { + seeking_controller.connect_event(clone!( + #[weak] + obj, + #[upgrade_or] + glib::Propagation::Proceed, + move |_, event| { if let Some(event) = event.downcast_ref::() { let imp = obj.imp(); if event.button() == gdk::BUTTON_PRIMARY { @@ -148,23 +161,27 @@ mod imp { } gdk::EventType::ButtonRelease => { let player = obj.player(); - player.seek_to((imp.slider.value() * player.duration_ms() as f64) as u64); + player.seek_to( + (imp.slider.value() * player.duration_ms() as f64) as u64, + ); imp.seeking.set(false); } _ => (), } } - } glib::Propagation::Proceed - }), - ); + } + )); self.slider.add_controller(seeking_controller); - self.slider - .connect_value_changed(clone!(@weak obj => move |_| obj.imp().update_time())); + self.slider.connect_value_changed(clone!( + #[weak] + obj, + move |_| obj.imp().update_time() + )); } } diff --git a/src/playlist_page.rs b/src/playlist_page.rs index eba8a16..80a0830 100644 --- a/src/playlist_page.rs +++ b/src/playlist_page.rs @@ -100,9 +100,11 @@ impl MusicusPlaylistPage { } pub fn scroll_to_current(&self) { - self.imp().playlist.scroll_to(self.player().current_index(), ListScrollFlags::NONE, None); + self.imp() + .playlist + .scroll_to(self.player().current_index(), ListScrollFlags::NONE, None); } - + #[template_callback] fn select_item(&self, index: u32, _: >k::ListView) { self.player().set_current_index(index); diff --git a/src/program.rs b/src/program.rs index 8b3555c..222304d 100644 --- a/src/program.rs +++ b/src/program.rs @@ -88,7 +88,10 @@ impl Program { .property("description", &*data.description.borrow()) .property("design", data.design.get()) .property("prefer-recently-added", data.prefer_recently_added.get()) - .property("prefer-least-recently-played", data.prefer_least_recently_played.get()) + .property( + "prefer-least-recently-played", + data.prefer_least_recently_played.get(), + ) .property("play-full-recordings", data.play_full_recordings.get()) .build(); diff --git a/src/search_entry.rs b/src/search_entry.rs index 76fba39..a7796eb 100644 --- a/src/search_entry.rs +++ b/src/search_entry.rs @@ -70,9 +70,10 @@ mod imp { gesture.set_state(gtk::EventSequenceState::Claimed); }); - controller.connect_released(clone!(@weak self as _self => move |_, _, _, _| { - _self.obj().reset(); - })); + let obj = self.obj().to_owned(); + controller.connect_released(move |_, _, _, _| { + obj.reset(); + }); self.clear_icon.add_controller(controller); } @@ -120,19 +121,29 @@ impl MusicusSearchEntry { pub fn set_key_capture_widget(&self, widget: &impl IsA) { let controller = gtk::EventControllerKey::new(); - controller.connect_key_pressed(clone!(@weak self as _self => @default-return glib::Propagation::Proceed, move |controller, _, _, _| { - match controller.forward(&_self.imp().text.get()) { - true => { - _self.grab_focus(); - glib::Propagation::Stop - }, - false => glib::Propagation::Proceed, + controller.connect_key_pressed(clone!( + #[weak(rename_to = this)] + self, + #[upgrade_or] + glib::Propagation::Proceed, + move |controller, _, _, _| { + match controller.forward(&this.imp().text.get()) { + true => { + this.grab_focus(); + glib::Propagation::Stop + } + false => glib::Propagation::Proceed, + } } - })); + )); - controller.connect_key_released(clone!(@weak self as _self => move |controller, _, _, _| { - controller.forward(&_self.imp().text.get()); - })); + controller.connect_key_released(clone!( + #[weak(rename_to = this)] + self, + move |controller, _, _, _| { + controller.forward(&this.imp().text.get()); + } + )); widget.add_controller(controller); } @@ -157,17 +168,21 @@ impl MusicusSearchEntry { let tag = MusicusSearchTag::new(tag); - tag.connect_remove(clone!(@weak self as self_ => move |tag| { - let imp = self_.imp(); + tag.connect_remove(clone!( + #[weak(rename_to = this)] + self, + move |tag| { + let imp = this.imp(); - imp.tags_box.remove(tag); + imp.tags_box.remove(tag); - { - imp.tags.borrow_mut().retain(|t| t.tag() != tag.tag()); + { + imp.tags.borrow_mut().retain(|t| t.tag() != tag.tag()); + } + + this.emit_by_name::<()>("query-changed", &[]); } - - self_.emit_by_name::<()>("query-changed", &[]); - })); + )); imp.tags_box.append(&tag); imp.tags.borrow_mut().push(tag); @@ -208,7 +223,7 @@ impl MusicusSearchEntry { #[template_callback] fn backspace(&self, text: >k::Text) { - if text.cursor_position() == 0 { + if text.position() == 0 { let changed = if let Some(tag) = self.imp().tags.borrow_mut().pop() { self.imp().tags_box.remove(&tag); true diff --git a/src/window.rs b/src/window.rs index d9255a9..6b1eaed 100644 --- a/src/window.rs +++ b/src/window.rs @@ -67,21 +67,31 @@ mod imp { self.stack.add_named(&playlist_page, Some("playlist")); let stack = self.stack.get(); - playlist_page.connect_close(clone!(@weak player_bar, @weak stack => move |_| { - stack.set_visible_child_name("navigation"); - player_bar.playlist_hidden(); - })); + playlist_page.connect_close(clone!( + #[weak] + player_bar, + #[weak] + stack, + move |_| { + stack.set_visible_child_name("navigation"); + player_bar.playlist_hidden(); + } + )); - player_bar.connect_show_playlist( - clone!(@weak playlist_page, @weak stack => move |_, show| { + player_bar.connect_show_playlist(clone!( + #[weak] + playlist_page, + #[weak] + stack, + move |_, show| { if show { playlist_page.scroll_to_current(); stack.set_visible_child_name("playlist"); } else { stack.set_visible_child_name("navigation"); }; - }), - ); + } + )); self.player .bind_property("active", &self.player_bar_revealer.get(), "reveal-child")