diff --git a/Cargo.lock b/Cargo.lock index 9ae02623..fe68b807 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arrayvec" @@ -343,7 +343,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -360,7 +360,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -468,7 +468,7 @@ version = "0.68.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cexpr", "clang-sys", "lazy_static", @@ -481,7 +481,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.67", + "syn 2.0.87", "which", ] @@ -493,9 +493,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bitvec" @@ -557,7 +557,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", "syn_derive", ] @@ -619,13 +619,13 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "cairo-rs" -version = "0.16.7" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3125b15ec28b84c238f6f476c6034016a5f6cc0221cb514ca46c532139fc97d" +checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a" dependencies = [ "bitflags 1.3.2", "cairo-sys-rs", - "glib", + "glib 0.17.10", "libc", "once_cell", "thiserror", @@ -633,11 +633,11 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.16.3" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" +checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1" dependencies = [ - "glib-sys", + "glib-sys 0.17.10", "libc", "system-deps", ] @@ -650,14 +650,14 @@ checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" [[package]] name = "celeste" -version = "0.8.1" +version = "0.8.3" dependencies = [ "base64 0.20.0", "blocking", "clap 4.5.7", "file-lock", "futures", - "glib", + "glib 0.16.9", "glob", "grass", "hw-msg", @@ -837,7 +837,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -1011,7 +1011,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -1065,7 +1065,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -1100,11 +1100,11 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35b50dba0afdca80b187392b24f2499a88c336d5a8493e4b4ccfb608708be56a" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -1394,7 +1394,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -1449,57 +1449,58 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.16.7" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3578c60dee9d029ad86593ed88cb40f35c1b83360e12498d055022385dd9a05" +checksum = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717" dependencies = [ "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", - "glib", + "glib 0.17.10", "libc", + "once_cell", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.16.3" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" +checksum = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb" dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", + "gio-sys 0.17.10", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "libc", "system-deps", ] [[package]] name = "gdk4" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2181330ebf9d091f8ea7fed6877f7adc92114128592e1fdaeb1da28e0d01e9" +checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff" dependencies = [ "bitflags 1.3.2", "cairo-rs", "gdk-pixbuf", "gdk4-sys", "gio", - "glib", + "glib 0.17.10", "libc", "pango", ] [[package]] name = "gdk4-sys" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de55cb49432901fe2b3534177fa06844665b9b0911d85d8601a8d8b88b7791db" +checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", + "gio-sys 0.17.10", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "libc", "pango-sys", "pkg-config", @@ -1579,17 +1580,17 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gio" -version = "0.16.7" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a1c84b4534a290a29160ef5c6eff2a9c95833111472e824fc5cb78b513dd092" +checksum = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a" dependencies = [ "bitflags 1.3.2", "futures-channel", "futures-core", "futures-io", "futures-util", - "gio-sys", - "glib", + "gio-sys 0.17.10", + "glib 0.17.10", "libc", "once_cell", "pin-project-lite", @@ -1603,8 +1604,21 @@ version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" dependencies = [ - "glib-sys", - "gobject-sys", + "glib-sys 0.16.3", + "gobject-sys 0.16.3", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "gio-sys" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3" +dependencies = [ + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "libc", "system-deps", "winapi", @@ -1622,11 +1636,34 @@ dependencies = [ "futures-executor", "futures-task", "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", + "gio-sys 0.16.3", + "glib-macros 0.16.8", + "glib-sys 0.16.3", + "gobject-sys 0.16.3", + "libc", + "once_cell", + "smallvec", + "thiserror", +] + +[[package]] +name = "glib" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b" +dependencies = [ + "bitflags 1.3.2", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys 0.17.10", + "glib-macros 0.17.10", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "libc", + "memchr", "once_cell", "smallvec", "thiserror", @@ -1647,6 +1684,21 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "glib-macros" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26" +dependencies = [ + "anyhow", + "heck 0.4.1", + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "glib-sys" version = "0.16.3" @@ -1657,6 +1709,16 @@ dependencies = [ "system-deps", ] +[[package]] +name = "glib-sys" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0" +dependencies = [ + "libc", + "system-deps", +] + [[package]] name = "glob" version = "0.3.1" @@ -1682,7 +1744,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "ignore", "walkdir", ] @@ -1705,29 +1767,40 @@ version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" dependencies = [ - "glib-sys", + "glib-sys 0.16.3", + "libc", + "system-deps", +] + +[[package]] +name = "gobject-sys" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062" +dependencies = [ + "glib-sys 0.17.10", "libc", "system-deps", ] [[package]] name = "graphene-rs" -version = "0.16.3" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ecb4d347e6d09820df3bdfd89a74a8eec07753a06bb92a3aac3ad31d04447b" +checksum = "def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9" dependencies = [ - "glib", + "glib 0.17.10", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" -version = "0.16.3" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9aa82337d3972b4eafdea71e607c23f47be6f27f749aab613f1ad8ddbe6dcd6" +checksum = "1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d" dependencies = [ - "glib-sys", + "glib-sys 0.17.10", "libc", "pkg-config", "system-deps", @@ -1754,14 +1827,14 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591239f5c52ca803b222124ac9c47f230cd180cee9b114c4d672e4a94b74f491" +checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c" dependencies = [ "bitflags 1.3.2", "cairo-rs", "gdk4", - "glib", + "glib 0.17.10", "graphene-rs", "gsk4-sys", "libc", @@ -1770,14 +1843,14 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195a63f0be42529f98c3eb3bae0decfd0428ba2cc683b3e20ced88f340904ec5" +checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0" dependencies = [ "cairo-sys-rs", "gdk4-sys", - "glib-sys", - "gobject-sys", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "graphene-sys", "libc", "pango-sys", @@ -1786,9 +1859,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.5.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd89dba65def483a233dc4fdd3f3dab01576e3d83f80f6c9303ebe421661855e" +checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b" dependencies = [ "bitflags 1.3.2", "cairo-rs", @@ -1797,7 +1870,7 @@ dependencies = [ "gdk-pixbuf", "gdk4", "gio", - "glib", + "glib 0.17.10", "graphene-rs", "gsk4", "gtk4-macros", @@ -1809,9 +1882,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.5.6" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42829d621396a69b352d80b952dfcb4ecb4272506b2e10a65457013af1b395a4" +checksum = "6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f" dependencies = [ "anyhow", "proc-macro-crate 1.3.1", @@ -1823,16 +1896,16 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e370564e3fdacff7cffc99f7366b6a4689feb44e819d3ccee598a9a215b71605" +checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", - "gio-sys", - "glib-sys", - "gobject-sys", + "gio-sys 0.17.10", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "graphene-sys", "gsk4-sys", "libc", @@ -2244,33 +2317,31 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libadwaita" -version = "0.2.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dfa0722d4f1724f661cbf668c273c5926296ca411ed3814e206f8fd082b6c48" +checksum = "1ab9c0843f9f23ff25634df2743690c3a1faffe0a190e60c490878517eb81abf" dependencies = [ "bitflags 1.3.2", - "futures-channel", "gdk-pixbuf", "gdk4", "gio", - "glib", + "glib 0.17.10", "gtk4", "libadwaita-sys", "libc", - "once_cell", "pango", ] [[package]] name = "libadwaita-sys" -version = "0.2.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de902982372b454a0081d7fd9dd567b37b73ae29c8f6da1820374d345fd95d5b" +checksum = "4231cb2499a9f0c4cdfa4885414b33e39901ddcac61150bc0bb4ff8a57ede404" dependencies = [ "gdk4-sys", - "gio-sys", - "glib-sys", - "gobject-sys", + "gio-sys 0.17.10", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "gtk4-sys", "libc", "pango-sys", @@ -2709,13 +2780,13 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.16.5" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94" +checksum = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48" dependencies = [ "bitflags 1.3.2", "gio", - "glib", + "glib 0.17.10", "libc", "once_cell", "pango-sys", @@ -2723,12 +2794,12 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.16.3" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" +checksum = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195" dependencies = [ - "glib-sys", - "gobject-sys", + "glib-sys 0.17.10", + "gobject-sys 0.17.10", "libc", "system-deps", ] @@ -2822,7 +2893,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -2868,7 +2939,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -3054,7 +3125,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -3142,7 +3213,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -3211,7 +3282,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", "version_check", "yansi", ] @@ -3347,7 +3418,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -3367,7 +3438,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -3531,7 +3602,7 @@ dependencies = [ "proc-macro2", "quote", "rocket_http", - "syn 2.0.67", + "syn 2.0.87", "unicode-xid", "version_check", ] @@ -3620,7 +3691,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys 0.4.14", @@ -3900,7 +3971,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -4234,9 +4305,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.67" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8655ed1d86f3af4ee3fd3263786bc14245ad17c4c7e85ba7187fb3ae028c90" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -4252,7 +4323,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -4276,9 +4347,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "temp-dir" @@ -4378,7 +4449,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -4463,7 +4534,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -4594,7 +4665,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] [[package]] @@ -4913,7 +4984,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -4947,7 +5018,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5246,5 +5317,5 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.87", ] diff --git a/Cargo.toml b/Cargo.toml index aed6442d..8b2ee0c8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.8.3" edition = "2021" [dependencies] -adw = { package = "libadwaita", version = "0.2.1", features = ["v1_2"] } +adw = { package = "libadwaita", version = "0.4.4", features = ["v1_4"] } base64 = "0.20.0" blocking = "1.6.1" clap = { version = "4.5.7", features = ["derive", "env"] } diff --git a/src/launch.rs b/src/launch.rs index eb41772f..eba46168 100644 --- a/src/launch.rs +++ b/src/launch.rs @@ -533,7 +533,7 @@ pub fn launch(app: &Application, background: bool) { update_error_list(); sections.set_visible_child_name(&stack_child_name); })); - sync_status_sections.add_controller(&gesture); + sync_status_sections.add_controller(gesture); // Add the items to the directory map. let sync_status_sections_container = ListBoxRow::builder().child(&sync_status_sections).build(); @@ -1547,7 +1547,7 @@ pub fn launch(app: &Application, background: bool) { } } })); - ui_item.add_controller(&gesture); + ui_item.add_controller(gesture); // If we have zero errors now, remove the warning icon. if sync_errors_count() == 0 { diff --git a/src/login/dropbox.rs b/src/login/dropbox.rs index b0ed7382..7e789b7b 100644 --- a/src/login/dropbox.rs +++ b/src/login/dropbox.rs @@ -4,7 +4,7 @@ use crate::{ login::gdrive::{AuthType, GDriveConfig}, mpsc::Sender, }; -use adw::{gtk::Button, ApplicationWindow, EntryRow}; +use adw::{gtk::{Button, Widget}, ApplicationWindow}; static DEFAULT_CLIENT_ID: &str = "hke0fgr43viaq03"; static DEFAULT_CLIENT_SECRET: &str = "o4cpx8trcnneq7a"; @@ -21,7 +21,7 @@ impl super::LoginTrait for DropboxConfig { fn get_sections( window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { GDriveConfig::auth_sections( window, sender, diff --git a/src/login/gdrive.rs b/src/login/gdrive.rs index b2b28b9b..66dd0a4b 100644 --- a/src/login/gdrive.rs +++ b/src/login/gdrive.rs @@ -7,7 +7,7 @@ use crate::{ traits::prelude::*, util, }; -use adw::{glib, gtk::Button, prelude::*, ApplicationWindow, EntryRow, MessageDialog}; +use adw::{glib, gtk::Button, gtk::Widget, prelude::*, ApplicationWindow, MessageDialog, SwitchRow}; use nix::{ sys::signal::{self, Signal}, unistd::Pid, @@ -96,7 +96,7 @@ impl super::LoginTrait for GDriveConfig { fn get_sections( window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { Self::auth_sections( window, sender, @@ -113,15 +113,19 @@ impl GDriveConfig { sender: Sender>, auth_type: AuthType, client_id: String, - client_secret: String, - ) -> (Vec, Button) { - let mut sections: Vec = vec![]; + client_secret: String + ) -> (Vec, Button) { + let mut sections: Vec = vec![]; let server_name = login_util::server_name_input(); + let in_europe = SwitchRow::builder().title(&tr::tr!("European server")).active(false).build(); + if matches!(auth_type, AuthType::PCloud) { + sections.push(in_europe.clone().into()); + } let submit_button = login_util::submit_button(); - sections.push(server_name.clone()); + sections.push(server_name.clone().into()); - submit_button.connect_clicked(glib::clone!(@weak window, @weak server_name, @strong client_id, @strong client_secret => move |_| { + submit_button.connect_clicked(glib::clone!(@weak window, @weak server_name, @weak in_europe, @strong client_id, @strong client_secret => move |_| { window.set_sensitive(false); // For some reason we get compiler errors without these two lines :P. @@ -249,10 +253,8 @@ impl GDriveConfig { window.set_sensitive(true); break; } else { - let auth_token = { - let lines: Vec = process_stdout.lock().unwrap().lines().map(|string| string.to_owned()).collect(); - lines.get(lines.len() - 2).unwrap().to_owned() - }; + let lines: Vec = process_stdout.lock().unwrap().lines().map(|string| string.to_owned()).collect(); + let auth_token = lines.get(lines.len() - 2).unwrap().to_owned(); let server_type = match auth_type { AuthType::GDrive => ServerType::GDrive(GDriveConfig { @@ -267,12 +269,15 @@ impl GDriveConfig { client_secret, auth_json: auth_token }), - AuthType::PCloud => ServerType::PCloud(pcloud::PCloudConfig { + AuthType::PCloud => { + ServerType::PCloud(pcloud::PCloudConfig { server_name: server_name.text().to_string(), + // hostname: , + hostname: if in_europe.is_active() {"eapi.pcloud.com".to_string()} else {"api.pcloud.com".to_string()}, client_id, client_secret, auth_json: auth_token - }), + })}, }; sender.send(Some(server_type)); window.set_sensitive(true); diff --git a/src/login/mod.rs b/src/login/mod.rs index 3ff954ec..3d3dbf49 100644 --- a/src/login/mod.rs +++ b/src/login/mod.rs @@ -18,9 +18,9 @@ mod webdav; use adw::{ glib, - gtk::{Box, Button, Inhibit, ListBox, Orientation, SelectionMode, StringList}, + gtk::{Box, Button, Inhibit, ListBox, Orientation, SelectionMode, StringList, Widget}, prelude::*, - Application, ApplicationWindow, ComboRow, EntryRow, HeaderBar, + Application, ApplicationWindow, ComboRow, HeaderBar, }; use dropbox::DropboxConfig; use gdrive::GDriveConfig; @@ -39,7 +39,7 @@ trait LoginTrait { fn get_sections( window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button); + ) -> (Vec, Button); } /// An enum representing valid storage types. @@ -158,7 +158,7 @@ pub fn login(app: &Application, db: &DatabaseConnection) -> Option let webdav_items = WebDavConfig::get_sections(&window, sender); // Store the active items. - let active_items: Rc, Button)>> = + let active_items: Rc, Button)>> = Rc::new(RefCell::new((vec![], submit_button))); // Configure the window to change the widgets when the selected server type @@ -184,7 +184,7 @@ pub fn login(app: &Application, db: &DatabaseConnection) -> Option // Now remove the current listbox items. for row in ptr.0.clone() { // Reset the row to default styling and text so that when the user goes back it looks like a fresh page. - row.set_text(""); + // row.set_text(""); row.remove_css_class("error"); // Actually remove the item. @@ -278,6 +278,7 @@ pub fn login(app: &Application, db: &DatabaseConnection) -> Option ServerType::PCloud(config) => json!({ "name": config_name, "parameters": { + "hostname": config.hostname, "client_id": config.client_id, "client_secret": config.client_secret, "token": config.auth_json, diff --git a/src/login/nextcloud.rs b/src/login/nextcloud.rs index 652e24df..839ab711 100644 --- a/src/login/nextcloud.rs +++ b/src/login/nextcloud.rs @@ -4,7 +4,7 @@ use super::{ ServerType, }; use crate::mpsc::Sender; -use adw::{gtk::Button, ApplicationWindow, EntryRow}; +use adw::{gtk::{Button, Widget}, ApplicationWindow}; #[derive(Clone, Debug, Default)] pub struct NextcloudConfig { @@ -18,7 +18,7 @@ impl super::LoginTrait for NextcloudConfig { fn get_sections( _window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { WebDavConfig::webdav_sections(sender, WebDavType::Nextcloud) } } diff --git a/src/login/owncloud.rs b/src/login/owncloud.rs index 035fc6b8..6d65cd7b 100644 --- a/src/login/owncloud.rs +++ b/src/login/owncloud.rs @@ -4,7 +4,7 @@ use super::{ ServerType, }; use crate::mpsc::Sender; -use adw::{gtk::Button, ApplicationWindow, EntryRow}; +use adw::{gtk::{Button, Widget}, ApplicationWindow}; #[derive(Clone, Debug, Default)] pub struct OwncloudConfig { @@ -18,7 +18,7 @@ impl super::LoginTrait for OwncloudConfig { fn get_sections( _window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { WebDavConfig::webdav_sections(sender, WebDavType::Owncloud) } } diff --git a/src/login/pcloud.rs b/src/login/pcloud.rs index cc95e3ef..0aea4745 100644 --- a/src/login/pcloud.rs +++ b/src/login/pcloud.rs @@ -4,7 +4,7 @@ use crate::{ login::gdrive::{AuthType, GDriveConfig}, mpsc::Sender, }; -use adw::{gtk::Button, ApplicationWindow, EntryRow}; +use adw::{gtk::{Button, Widget}, ApplicationWindow}; static DEFAULT_CLIENT_ID: &str = "KRzpo46NKb7"; static DEFAULT_CLIENT_SECRET: &str = "g10qvqgWR85lSvEQWlIqCmPYIhwX"; @@ -14,6 +14,7 @@ pub struct PCloudConfig { pub server_name: String, pub client_id: String, pub client_secret: String, + pub hostname: String, pub auth_json: String, } @@ -21,7 +22,7 @@ impl super::LoginTrait for PCloudConfig { fn get_sections( window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { GDriveConfig::auth_sections( window, sender, diff --git a/src/login/proton_drive.rs b/src/login/proton_drive.rs index c403c505..2d213bb3 100644 --- a/src/login/proton_drive.rs +++ b/src/login/proton_drive.rs @@ -1,7 +1,7 @@ //! The data for a Proton Drive Rclone config. use super::ServerType; use crate::{login::login_util, mpsc::Sender}; -use adw::{glib, gtk::Button, prelude::*, ApplicationWindow, EntryRow}; +use adw::{glib, gtk::{Button, Widget}, prelude::*, ApplicationWindow}; #[derive(Clone, Debug, Default)] pub struct ProtonDriveConfig { @@ -15,7 +15,7 @@ impl super::LoginTrait for ProtonDriveConfig { fn get_sections( _window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { let mut sections = vec![]; let server_name = login_util::server_name_input(); let username = login_util::username_input(); @@ -23,10 +23,10 @@ impl super::LoginTrait for ProtonDriveConfig { let totp = login_util::totp_input(); let submit_button = login_util::submit_button(); - sections.push(server_name.clone()); - sections.push(username.clone()); + sections.push(server_name.clone().into()); + sections.push(username.clone().into()); sections.push(password.clone().into()); - sections.push(totp.clone()); + sections.push(totp.clone().into()); submit_button.connect_clicked( glib::clone!(@weak server_name, @weak username, @weak password, @weak totp => move |_| { diff --git a/src/login/webdav.rs b/src/login/webdav.rs index a2a21a70..3be07b4f 100644 --- a/src/login/webdav.rs +++ b/src/login/webdav.rs @@ -2,9 +2,9 @@ use super::{login_util, nextcloud::NextcloudConfig, owncloud::OwncloudConfig, ServerType}; use crate::mpsc::Sender; use adw::{ - gtk::{glib, Button}, + gtk::{glib, Button, Widget}, prelude::*, - ApplicationWindow, EntryRow, + ApplicationWindow, }; pub enum WebDavType { @@ -25,7 +25,7 @@ impl super::LoginTrait for WebDavConfig { fn get_sections( _window: &ApplicationWindow, sender: Sender>, - ) -> (Vec, Button) { + ) -> (Vec, Button) { Self::webdav_sections(sender, WebDavType::WebDav) } } @@ -34,8 +34,8 @@ impl WebDavConfig { pub fn webdav_sections( sender: Sender>, webdav_type: WebDavType, - ) -> (Vec, Button) { - let mut sections: Vec = vec![]; + ) -> (Vec, Button) { + let mut sections: Vec = vec![]; let server_name = login_util::server_name_input(); let server_url = login_util::server_url_input(match webdav_type { @@ -46,9 +46,9 @@ impl WebDavConfig { let password = login_util::password_input(); let submit_button = login_util::submit_button(); - sections.push(server_name.clone()); - sections.push(server_url.clone()); - sections.push(username.clone()); + sections.push(server_name.clone().into()); + sections.push(server_url.clone().into()); + sections.push(username.clone().into()); sections.push(password.clone().into()); submit_button.connect_clicked( diff --git a/src/main.rs b/src/main.rs index 127f649f..06a1c604 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,4 @@ #![feature(let_chains)] -#![feature(arc_unwrap_or_clone)] -#![feature(panic_info_message)] -#![feature(async_closure)] #![feature(trait_alias)] #![feature(exit_status_error)] @@ -63,7 +60,7 @@ fn main() { // Load our CSS. let provider = CssProvider::new(); - provider.load_from_data(include_bytes!(concat!(env!("OUT_DIR"), "/style.css"))); + provider.load_from_path(concat!(env!("OUT_DIR"), "/style.css")); StyleContext::add_provider_for_display( &Display::default().unwrap(), diff --git a/src/rclone.rs b/src/rclone.rs index c16365a9..3969cf36 100644 --- a/src/rclone.rs +++ b/src/rclone.rs @@ -30,6 +30,7 @@ pub fn get_remote(remote: T) -> Option { })), "pcloud" => Some(Remote::PCloud(PCloudRemote { remote_name: remote, + hostname: config["hostname"].clone(), client_id: config["client_id"].clone(), client_secret: config["client_secret"].clone(), })), @@ -125,6 +126,8 @@ pub struct GDriveRemote { pub struct PCloudRemote { /// The name of the remote. pub remote_name: String, + /// The API server to connect to (NA or EU) + pub hostname: String, /// The client id. pub client_id: String, /// The client secret.