diff --git a/Cargo.lock b/Cargo.lock index e3c12ca..e5a88cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -491,9 +491,9 @@ dependencies = [ [[package]] name = "cairo-rs" -version = "0.20.12" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e3bd0f4e25afa9cabc157908d14eeef9067d6448c49414d17b3fb55f0eadd0" +checksum = "dfe4354df4da648870e363387679081f8f9fc538ec8b55901e3740c6a0ef81b1" dependencies = [ "bitflags 2.9.4", "cairo-sys-rs", @@ -503,9 +503,9 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "059cc746549898cbfd9a47754288e5a958756650ef4652bbb6c5f71a6bda4f8b" +checksum = "47d6c3300c7103eb8e4de07591003511aa25664438f8c6fc317a3a9902c103f8" dependencies = [ "glib-sys", "libc", @@ -727,6 +727,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.5.0" @@ -1071,9 +1086,9 @@ dependencies = [ [[package]] name = "evp" -version = "1.0.0-beta.2" +version = "1.0.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06971f3fe338b47fa33ddc32285e64779fd5677fdecbf3164f0c47891b557299" +checksum = "9d2d00664188bcc2bddce2a5acc4a098d23766e1460699611fb043106231c2a1" dependencies = [ "base64", "build_html", @@ -1392,9 +1407,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd242894c084f4beed508a56952750bce3e96e85eb68fdc153637daa163e10c" +checksum = "2a3c64459f569154f37616fc28923bfac490d4aaa134aaf5eca58a2c0c13050f" dependencies = [ "gdk-pixbuf-sys", "gio", @@ -1404,9 +1419,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b34f3b580c988bd217e9543a2de59823fafae369d1a055555e5f95a8b130b96" +checksum = "3854ef7a6a8b8f3b4013a01d5f9cb0d1794ec4e810c6cb4e2cc6d980f1baf724" dependencies = [ "gio-sys", "glib-sys", @@ -1417,9 +1432,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4850c9d9c1aecd1a3eb14fadc1cdb0ac0a2298037e116264c7473e1740a32d60" +checksum = "c7e292649dc26e3440c508a00f42ab39156008320dd6e962d63eaf626ba4d7f0" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -1432,9 +1447,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f6eb95798e2b46f279cf59005daf297d5b69555428f185650d71974a910473a" +checksum = "f4f3174fa4f1e0bf2a7e04469b65db8f4d1db89a6f5cdc57727b14e97ce438cf" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1525,9 +1540,9 @@ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "gio" -version = "0.20.12" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e27e276e7b6b8d50f6376ee7769a71133e80d093bdc363bd0af71664228b831" +checksum = "ed68efc12b748a771be2dccc49480d8584004382967c98323245fc3c38b74a42" dependencies = [ "futures-channel", "futures-core", @@ -1542,22 +1557,22 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521e93a7e56fc89e84aea9a52cfc9436816a4b363b030260b699950ff1336c83" +checksum = "171ed2f6dd927abbe108cfd9eebff2052c335013f5879d55bab0dc1dee19b706" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "glib" -version = "0.20.12" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc4b6e352d4716d84d7dde562dd9aee2a7d48beb872dd9ece7f2d1515b2d683" +checksum = "e1f2cbc4577536c849335878552f42086bfd25a8dcd6f54a18655cf818b20c8f" dependencies = [ "bitflags 2.9.4", "futures-channel", @@ -1576,9 +1591,9 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.20.12" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8084af62f09475a3f529b1629c10c429d7600ee1398ae12dd3bf175d74e7145" +checksum = "55eda916eecdae426d78d274a17b48137acdca6fba89621bd3705f2835bc719f" dependencies = [ "heck", "proc-macro-crate", @@ -1589,9 +1604,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ab79e1ed126803a8fb827e3de0e2ff95191912b8db65cee467edb56fc4cc215" +checksum = "d09d3d0fddf7239521674e57b0465dfbd844632fec54f059f7f56112e3f927e1" dependencies = [ "libc", "system-deps", @@ -1612,9 +1627,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9aca94bb73989e3cfdbf8f2e0f1f6da04db4d291c431f444838925c4c63eda" +checksum = "538e41d8776173ec107e7b0f2aceced60abc368d7e1d81c1f0e2ecd35f59080d" dependencies = [ "glib-sys", "libc", @@ -1623,9 +1638,9 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b86dfad7d14251c9acaf1de63bc8754b7e3b4e5b16777b6f5a748208fe9519b" +checksum = "e7749aaf5d3b955bf3bfce39e3423705878a666b561384134da0e7786a45ddc3" dependencies = [ "glib", "graphene-sys", @@ -1634,9 +1649,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df583a85ba2d5e15e1797e40d666057b28bc2f60a67c9c24145e6db2cc3861ea" +checksum = "250abaee850a90a276509890a78029c356173f9573412bded5f155b0e41fa568" dependencies = [ "glib-sys", "libc", @@ -1646,9 +1661,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f5e72f931c8c9f65fbfc89fe0ddc7746f147f822f127a53a9854666ac1f855" +checksum = "b6687e9f92ca89c000c376400cfaf7914d099413d72fdf4f84a25775a0b1fb2d" dependencies = [ "cairo-rs", "gdk4", @@ -1661,9 +1676,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755059de55fa6f85a46bde8caf03e2184c96bfda1f6206163c72fb0ea12436dc" +checksum = "5e76bcf64d9c4846f19651f45b400cc0c9c4c17b651849da520f3d77c6988c52" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1677,9 +1692,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.9.7" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f274dd0102c21c47bbfa8ebcb92d0464fab794a22fad6c3f3d5f165139a326d6" +checksum = "8f7887ee0ceeffedb25a418810a2c61497dacad51767fc13f9d60859b4023b8a" dependencies = [ "cairo-rs", "field-offset", @@ -1698,9 +1713,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.9.5" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed1786c4703dd196baf7e103525ce0cf579b3a63a0570fe653b7ee6bac33999" +checksum = "821160b4f17e7e4ed748818c23682d0a46bed04c287dbaac54dd4869d2c5e06a" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1710,9 +1725,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e03b01e54d77c310e1d98647d73f996d04b2f29b9121fe493ea525a7ec03d6" +checksum = "d274cbaf7d9aa55b7aff78cb21b43299d64e514e1300671469b66f691cc5a011" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1729,18 +1744,17 @@ dependencies = [ [[package]] name = "gvdb" -version = "0.6.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acfa8cd2aa58da96876eb6276afe617c414d5846d1229274a821c1f8e8aa9e02" +checksum = "b9d94c8a63f94bbc35cf63e105791c5992bd60d4516d41fe5bf3db8d10b30b43" dependencies = [ - "byteorder", "flate2", - "quick-xml 0.31.0", - "safe-transmute", + "quick-xml 0.38.3", "serde", "serde_json", "walkdir", - "zvariant 4.2.0", + "zerocopy", + "zvariant", ] [[package]] @@ -2217,9 +2231,9 @@ dependencies = [ [[package]] name = "jsonschema" -version = "0.32.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24690c68dfcdde5980d676b0f1820981841016b1f29eecb4c42ad48ab4118681" +checksum = "d46662859bc5f60a145b75f4632fbadc84e829e45df6c5de74cfc8e05acb96b5" dependencies = [ "ahash", "base64", @@ -2265,9 +2279,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libadwaita" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500135d29c16aabf67baafd3e7741d48e8b8978ca98bac39e589165c8dc78191" +checksum = "4df6715d1257bd8c093295b77a276ed129d73543b10304fec5829ced5d5b7c41" dependencies = [ "gdk4", "gio", @@ -2280,9 +2294,9 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6680988058c2558baf3f548a370e4e78da3bf7f08469daa822ac414842c912db" +checksum = "fdf8950090cc180250cdb1ff859a39748feeda7a53a9f28ead3a17a14cc37ae2" dependencies = [ "gdk4-sys", "gio-sys", @@ -2316,26 +2330,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "liblzma" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c36d08cad03a3fbe2c4e7bb3a9e84c57e4ee4135ed0b065cade3d98480c648" -dependencies = [ - "liblzma-sys", -] - -[[package]] -name = "liblzma-sys" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b9596486f6d60c3bbe644c0e1be1aa6ccc472ad630fe8927b456973d7cb736" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "libz-rs-sys" version = "0.5.2" @@ -2405,6 +2399,16 @@ dependencies = [ "cc", ] +[[package]] +name = "lzma-rust2" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c60a23ffb90d527e23192f1246b14746e2f7f071cb84476dd879071696c18a4a" +dependencies = [ + "crc", + "sha2", +] + [[package]] name = "lzw" version = "0.10.0" @@ -2699,9 +2703,9 @@ dependencies = [ [[package]] name = "octocrab" -version = "0.44.1" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86996964f8b721067b6ed238aa0ccee56ecad6ee5e714468aa567992d05d2b91" +checksum = "0860f9250b6db66c5a4b46e00b381f063c58ad06a90f95f9ef701dd8679bb2c6" dependencies = [ "arc-swap", "async-trait", @@ -2793,9 +2797,9 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] name = "pango" -version = "0.20.12" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6576b311f6df659397043a5fa8a021da8f72e34af180b44f7d57348de691ab5c" +checksum = "e37b7a678e18c2e9f2485f7e39b7b2dac99590d5ddef08a7f56eae38a145402e" dependencies = [ "gio", "glib", @@ -2805,9 +2809,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.20.10" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186909673fc09be354555c302c0b3dcf753cd9fa08dcb8077fa663c80fb243fa" +checksum = "f4f5daf21da43fba9f2a0092da0eebeb77637c23552bccaf58f791c518009c94" dependencies = [ "glib-sys", "gobject-sys", @@ -3116,21 +3120,21 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ "memchr", - "serde", ] [[package]] name = "quick-xml" -version = "0.37.5" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" dependencies = [ "memchr", + "serde", ] [[package]] @@ -3224,9 +3228,9 @@ dependencies = [ [[package]] name = "referencing" -version = "0.32.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3d769362109497b240e66462606bc28af68116436c8669bac17069533b908e" +checksum = "9e9c261f7ce75418b3beadfb3f0eb1299fe8eb9640deba45ffa2cb783098697d" dependencies = [ "ahash", "fluent-uri", @@ -3267,9 +3271,9 @@ checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "relm4" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30837553c1a8cfea1a404c83ec387c5c8ff9358e1060b057c274c5daa5035ad1" +checksum = "6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379" dependencies = [ "flume", "fragile", @@ -3285,27 +3289,36 @@ dependencies = [ [[package]] name = "relm4-css" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3b924557df1cddc687b60b313c4b76620fdbf0e463afa4b29f67193ccf37f9" +checksum = "37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797" [[package]] name = "relm4-icons" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15242978b4e65431be4ccd5cf539d3c142518e114b7ecfa72ffd02cd6432e6e3" +checksum = "28869f8322ed72bed568cbb704403037ff62a66c966ded7a862ad5732f108530" dependencies = [ "gtk4", +] + +[[package]] +name = "relm4-icons-build" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f2de558afdd570680a69c96dc9f812b241922c6355dae351f7ffbb5fac675d" +dependencies = [ "gvdb", "serde", - "toml 0.8.23", + "toml 0.9.7", + "walkdir", ] [[package]] name = "relm4-macros" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a895a7455441a857d100ca679bd24a92f91d28b5e3df63296792ac1af2eddde" +checksum = "175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1" dependencies = [ "proc-macro2", "quote", @@ -3386,9 +3399,9 @@ dependencies = [ [[package]] name = "ron" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" +checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ "base64", "bitflags 2.9.4", @@ -3516,12 +3529,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "236ebc09b9423b2e39e5f3924be8188b9f0fdb64ec24bb07e3d1d36dc0ec7929" -[[package]] -name = "safe-transmute" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3944826ff8fa8093089aba3acb4ef44b9446a99a16f3bf4e74af3f77d340ab7d" - [[package]] name = "same-file" version = "1.0.6" @@ -3685,6 +3692,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3834,9 +3850,9 @@ dependencies = [ [[package]] name = "sourceview5" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0e07d99b15f12767aa1c84870c45667f42bf24fd6a989dc70088e32854ef56e" +checksum = "6e4acb02162917d7b689c84f4ed710c22302c67c7e61da28a4e8ac548c04442c" dependencies = [ "futures-channel", "futures-core", @@ -3852,9 +3868,9 @@ dependencies = [ [[package]] name = "sourceview5-sys" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3759467713554a8063faa380237ee2c753e89026bbe1b8e9611d991cb106ff" +checksum = "e1c1529de5df2653788828ef71d44b113bb80e496bc17315f4122106bd6eebae" dependencies = [ "gdk-pixbuf-sys", "gdk4-sys", @@ -4052,7 +4068,7 @@ dependencies = [ [[package]] name = "testangel" -version = "1.0.0-alpha.4" +version = "1.0.0-alpha.5" dependencies = [ "base64", "chrono", @@ -4075,6 +4091,7 @@ dependencies = [ "pest_derive", "relm4", "relm4-icons", + "relm4-icons-build", "ron", "semver 1.0.27", "serde", @@ -4115,7 +4132,7 @@ dependencies = [ [[package]] name = "testangel-evidence" -version = "1.0.0-alpha.4" +version = "1.0.0-alpha.5" dependencies = [ "dynamic-plugin", "testangel-engine", @@ -4134,7 +4151,7 @@ dependencies = [ [[package]] name = "testangel-rand" -version = "1.0.0-alpha.4" +version = "1.0.0-alpha.5" dependencies = [ "dynamic-plugin", "rand", @@ -4145,7 +4162,7 @@ dependencies = [ [[package]] name = "testangel-time" -version = "1.0.0-alpha.4" +version = "1.0.0-alpha.5" dependencies = [ "dynamic-plugin", "testangel-engine", @@ -4154,7 +4171,7 @@ dependencies = [ [[package]] name = "testangel-user-interaction" -version = "1.0.0-alpha.4" +version = "1.0.0-alpha.5" dependencies = [ "dynamic-plugin", "rfd", @@ -4357,11 +4374,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_edit 0.22.27", ] +[[package]] +name = "toml" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" +dependencies = [ + "indexmap", + "serde_core", + "serde_spanned 1.0.2", + "toml_datetime 0.7.2", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -4388,7 +4420,7 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_write", "winnow", @@ -4421,6 +4453,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toml_writer" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" + [[package]] name = "tower" version = "0.5.2" @@ -5278,7 +5316,7 @@ dependencies = [ "winnow", "zbus_macros", "zbus_names", - "zvariant 5.7.0", + "zvariant", ] [[package]] @@ -5292,8 +5330,8 @@ dependencies = [ "quote", "syn 2.0.106", "zbus_names", - "zvariant 5.7.0", - "zvariant_utils 3.2.1", + "zvariant", + "zvariant_utils", ] [[package]] @@ -5305,7 +5343,7 @@ dependencies = [ "serde", "static_assertions", "winnow", - "zvariant 5.7.0", + "zvariant", ] [[package]] @@ -5404,9 +5442,9 @@ dependencies = [ [[package]] name = "zip" -version = "4.6.1" +version = "5.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1" +checksum = "2f852905151ac8d4d06fdca66520a661c09730a74c6d4e2b0f27b436b382e532" dependencies = [ "aes", "arbitrary", @@ -5418,7 +5456,7 @@ dependencies = [ "getrandom 0.3.3", "hmac", "indexmap", - "liblzma", + "lzma-rust2", "memchr", "pbkdf2", "ppmd-rust", @@ -5475,18 +5513,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "zvariant" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" -dependencies = [ - "endi", - "serde", - "static_assertions", - "zvariant_derive 4.2.0", -] - [[package]] name = "zvariant" version = "5.7.0" @@ -5498,21 +5524,8 @@ dependencies = [ "serde", "url", "winnow", - "zvariant_derive 5.7.0", - "zvariant_utils 3.2.1", -] - -[[package]] -name = "zvariant_derive" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.106", - "zvariant_utils 2.1.0", + "zvariant_derive", + "zvariant_utils", ] [[package]] @@ -5525,18 +5538,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.106", - "zvariant_utils 3.2.1", -] - -[[package]] -name = "zvariant_utils" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "zvariant_utils", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index f5ea389..84d4703 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "1.0.0-alpha.4" +version = "1.0.0-alpha.5" edition = "2024" [workspace] diff --git a/icons.toml b/icons.toml deleted file mode 100644 index e59dbb3..0000000 --- a/icons.toml +++ /dev/null @@ -1,19 +0,0 @@ -# Relm4 icons config has to lie outside the "testangel" folder due to it not being workspace-compatible (for now) -app_id = "uk.hpkns.testangel" -base_resource_path = "/uk/hpkns/testangel/" - -icons = [ - "down", - "edit", - "gear", - "lightbulb", - "menu", - "papyrus-vertical", - "play", - "plus", - "puzzle-piece", - "tag", - "up", - "x-circular", -] -icon_folder = "testangel/icons" diff --git a/testangel/Cargo.toml b/testangel/Cargo.toml index e211d95..7086450 100644 --- a/testangel/Cargo.toml +++ b/testangel/Cargo.toml @@ -34,17 +34,17 @@ image = { version = "0.25.0", default-features = false, features = ["png"] } thiserror = "2.0.4" serde = { version = "1.0.180", features = [ "derive" ] } uuid = { version = "1.4.1", features = [ "v4" ] } -ron = "0.10.1" +ron = "0.11.0" genpdf = { version = "0.2.0", features = ["images"] } chrono = "0.4.26" base64 = "0.22.0" itertools = "0.14.0" opener = { version = "0.8.2", optional = true } -octocrab = "0.44.1" +octocrab = "0.47.0" semver = "1.0.19" -relm4 = { version = "0.9.1", optional = true, features = [ "libadwaita", "gnome_44" ] } -relm4-icons = { version = "0.9.0", optional = true } -sourceview5 = { version = "0.9.1", optional = true, features = [ "v5_6" ] } +relm4 = { version = "0.10.0", optional = true, features = [ "libadwaita", "gnome_44" ] } +relm4-icons = { version = "0.10.0", optional = true } +sourceview5 = { version = "0.10.0", optional = true, features = [ "v5_6" ] } fluent-templates = { version = "0.13.0", optional = true } fuzzy-matcher = { version = "0.3.7", optional = true } sys-locale = { version = "0.3.1", optional = true } @@ -52,7 +52,7 @@ mlua = { version = "0.11.2", features = [ "luau" ] } pest = "2.7.9" pest_derive = "2.7.9" convert_case = "0.8.0" -evp = "1.0.0-beta.2" +evp = "1.0.0-beta.3" tracing = "0.1.41" tracing-panic = { version = "0.1.2", optional = true } tracing-subscriber = { version = "0.3.19", optional = true } @@ -63,3 +63,6 @@ csv = "1.3.1" [target.'cfg(windows)'.build-dependencies] winres = "0.1" ico-builder = "0.1" + +[build-dependencies] +relm4-icons-build = "0.10.0" diff --git a/testangel/build.rs b/testangel/build.rs index 98ecc34..fbda8c5 100644 --- a/testangel/build.rs +++ b/testangel/build.rs @@ -2,6 +2,34 @@ fn main() { if cfg!(feature = "cli") || cfg!(feature = "ui") { println!("cargo::rerun-if-changed=../icon.png"); + relm4_icons_build::bundle_icons( + // Name of the file that will be generated at `OUT_DIR` + "icon_names.rs", + // Optional app ID + Some("uk.hpkns.testangel"), + // Custom base resource path: + // * defaults to `/com/example/myapp` in this case if not specified explicitly + // * or `/org/relm4` if app ID was not specified either + None::<&str>, + // Directory with custom icons (if any) + Some("icons"), + // List of icons to include + [ + "down", + "edit", + "lightbulb", + "menu", + "papyrus-vertical", + "play", + "plus", + "puzzle-piece", + "settings", + "tag", + "up", + "cross-small-circle-filled", + ], + ); + #[cfg(windows)] { ico_builder::IcoBuilder::default() diff --git a/testangel/src/ui/actions/completion_provider_descriptors/imp.rs b/testangel/src/ui/actions/completion_provider_descriptors/imp.rs index 9f3fa5a..65f0b41 100644 --- a/testangel/src/ui/actions/completion_provider_descriptors/imp.rs +++ b/testangel/src/ui/actions/completion_provider_descriptors/imp.rs @@ -73,7 +73,7 @@ impl CompletionProviderImpl for CompletionProviderDescriptors { if let Ok(proposal) = proposal.clone().downcast::() { match cell.column() { sourceview5::CompletionColumn::Icon => { - cell.set_icon_name(relm4_icons::icon_names::TAG); + cell.set_icon_name(crate::ui::icon_names::TAG); } sourceview5::CompletionColumn::Before | sourceview5::CompletionColumn::After => { cell.set_text(None); diff --git a/testangel/src/ui/actions/completion_provider_engines/imp.rs b/testangel/src/ui/actions/completion_provider_engines/imp.rs index 5bb5c35..821344a 100644 --- a/testangel/src/ui/actions/completion_provider_engines/imp.rs +++ b/testangel/src/ui/actions/completion_provider_engines/imp.rs @@ -79,7 +79,7 @@ impl CompletionProviderImpl for CompletionProviderEngines { if let Ok(proposal) = proposal.clone().downcast::() { match cell.column() { sourceview5::CompletionColumn::Icon => { - cell.set_icon_name(relm4_icons::icon_names::GEAR); + cell.set_icon_name(crate::ui::icon_names::SETTINGS); } sourceview5::CompletionColumn::Before | sourceview5::CompletionColumn::After => { cell.set_text(None); diff --git a/testangel/src/ui/actions/completion_provider_instructions/imp.rs b/testangel/src/ui/actions/completion_provider_instructions/imp.rs index 04d64a5..2518b40 100644 --- a/testangel/src/ui/actions/completion_provider_instructions/imp.rs +++ b/testangel/src/ui/actions/completion_provider_instructions/imp.rs @@ -120,7 +120,7 @@ impl CompletionProviderImpl for CompletionProviderEngineInstructions { { match cell.column() { sourceview5::CompletionColumn::Icon => { - cell.set_icon_name(relm4_icons::icon_names::PUZZLE_PIECE); + cell.set_icon_name(crate::ui::icon_names::PUZZLE_PIECE); } sourceview5::CompletionColumn::Before => { cell.set_text(Some(&format!("{}.", proposal.engine_lua_name()))); diff --git a/testangel/src/ui/actions/header.rs b/testangel/src/ui/actions/header.rs index b5a697c..a61220f 100644 --- a/testangel/src/ui/actions/header.rs +++ b/testangel/src/ui/actions/header.rs @@ -66,7 +66,7 @@ impl Component for ActionsHeader { #[local_ref] add_button -> gtk::MenuButton { - set_icon_name: relm4_icons::icon_names::PLUS, + set_icon_name: crate::ui::icon_names::PLUS, set_tooltip: &lang::lookup("action-header-add"), #[wrap(Some)] @@ -105,7 +105,7 @@ impl Component for ActionsHeader { }, gtk::Button { - set_icon_name: relm4_icons::icon_names::PAPYRUS_VERTICAL_ADD, + set_icon_name: crate::ui::icon_names::PAPYRUS_VERTICAL_ADD_SYMBOLIC, set_tooltip: &lang::lookup("action-header-add-to-open-flow"), #[watch] set_sensitive: model.action_open, diff --git a/testangel/src/ui/actions/mod.rs b/testangel/src/ui/actions/mod.rs index 35499d3..b0a7cf8 100644 --- a/testangel/src/ui/actions/mod.rs +++ b/testangel/src/ui/actions/mod.rs @@ -361,7 +361,7 @@ impl Component for ActionsModel { adw::StatusPage { set_title: &lang::lookup("nothing-open"), set_description: Some(&lang::lookup("action-nothing-open-description")), - set_icon_name: Some(relm4_icons::icon_names::LIGHTBULB), + set_icon_name: Some(crate::ui::icon_names::LIGHTBULB), set_vexpand: true, } } else { diff --git a/testangel/src/ui/components/variable_row.rs b/testangel/src/ui/components/variable_row.rs index 97608a0..bb4b38c 100644 --- a/testangel/src/ui/components/variable_row.rs +++ b/testangel/src/ui/components/variable_row.rs @@ -135,7 +135,7 @@ where }, gtk::MenuButton { - set_icon_name: relm4_icons::icon_names::EDIT, + set_icon_name: crate::ui::icon_names::EDIT, set_tooltip_text: Some(&lang::lookup("variable-row-edit-param")), set_css_classes: &["flat"], set_direction: gtk::ArrowType::Left, diff --git a/testangel/src/ui/flows/action_component.rs b/testangel/src/ui/flows/action_component.rs index 8f659ce..1542701 100644 --- a/testangel/src/ui/flows/action_component.rs +++ b/testangel/src/ui/flows/action_component.rs @@ -115,7 +115,7 @@ impl FactoryComponent for ActionComponent { set_spacing: 5, gtk::Button::builder().css_classes(["flat"]).build() { - set_icon_name: relm4_icons::icon_names::UP, + set_icon_name: crate::ui::icon_names::UP, set_tooltip: &lang::lookup("move-up"), set_valign: gtk::Align::Start, set_height_request: 30, @@ -128,7 +128,7 @@ impl FactoryComponent for ActionComponent { }, }, gtk::Button::builder().css_classes(["flat"]).build() { - set_icon_name: relm4_icons::icon_names::DOWN, + set_icon_name: crate::ui::icon_names::DOWN, set_tooltip: &lang::lookup("move-down"), set_valign: gtk::Align::Start, set_height_request: 30, @@ -139,7 +139,7 @@ impl FactoryComponent for ActionComponent { }, }, gtk::Button::builder().css_classes(["flat"]).build() { - set_icon_name: relm4_icons::icon_names::X_CIRCULAR, + set_icon_name: crate::ui::icon_names::CROSS_SMALL_CIRCLE_FILLED, set_tooltip: &lang::lookup("delete-step"), set_valign: gtk::Align::Start, set_height_request: 30, diff --git a/testangel/src/ui/flows/header.rs b/testangel/src/ui/flows/header.rs index 3250aea..854c296 100644 --- a/testangel/src/ui/flows/header.rs +++ b/testangel/src/ui/flows/header.rs @@ -69,7 +69,7 @@ impl Component for FlowsHeader { #[local_ref] add_button -> gtk::MenuButton { - set_icon_name: relm4_icons::icon_names::PLUS, + set_icon_name: crate::ui::icon_names::PLUS, set_tooltip: &lang::lookup("flow-header-add"), #[wrap(Some)] @@ -108,7 +108,7 @@ impl Component for FlowsHeader { }, if model.has_steps_requiring_data { gtk::Button { - set_icon_name: relm4_icons::icon_names::PLAY_TABLE, + set_icon_name: crate::ui::icon_names::PLAY_TABLE_SYMBOLIC, set_tooltip: &lang::lookup("flow-header-run-with-data"), #[watch] set_sensitive: model.flow_open, @@ -119,7 +119,7 @@ impl Component for FlowsHeader { } } else { gtk::Button { - set_icon_name: relm4_icons::icon_names::PLAY, + set_icon_name: crate::ui::icon_names::PLAY, set_tooltip: &lang::lookup("flow-header-run"), #[watch] set_sensitive: model.flow_open, diff --git a/testangel/src/ui/flows/mod.rs b/testangel/src/ui/flows/mod.rs index 9feddce..0fed1da 100644 --- a/testangel/src/ui/flows/mod.rs +++ b/testangel/src/ui/flows/mod.rs @@ -342,7 +342,7 @@ impl Component for FlowsModel { adw::StatusPage { set_title: &lang::lookup("nothing-open"), set_description: Some(&lang::lookup("flow-nothing-open-description")), - set_icon_name: Some(relm4_icons::icon_names::LIGHTBULB), + set_icon_name: Some(crate::ui::icon_names::LIGHTBULB), #[watch] set_visible: model.open_flow.is_none(), set_vexpand: true, diff --git a/testangel/src/ui/header_bar.rs b/testangel/src/ui/header_bar.rs index 6b9bc9c..a74224a 100644 --- a/testangel/src/ui/header_bar.rs +++ b/testangel/src/ui/header_bar.rs @@ -91,7 +91,7 @@ impl Component for HeaderBarModel { }, pack_end = >k::MenuButton { - set_icon_name: relm4_icons::icon_names::MENU, + set_icon_name: crate::ui::icon_names::MENU, set_tooltip: &lang::lookup("header-more"), set_direction: gtk::ArrowType::Down, diff --git a/testangel/src/ui/mod.rs b/testangel/src/ui/mod.rs index 84e5184..f832318 100644 --- a/testangel/src/ui/mod.rs +++ b/testangel/src/ui/mod.rs @@ -20,11 +20,17 @@ mod flows; mod header_bar; pub(crate) mod lang; +mod icon_names { + pub use custom::*; + pub use shipped::*; + include!(concat!(env!("OUT_DIR"), "/icon_names.rs")); +} + /// Initialise and open the UI. pub fn initialise_ui() { tracing::info!("Starting Next UI..."); let app = RelmApp::new("uk.hpkns.testangel"); - relm4_icons::initialize_icons(); + relm4_icons::initialize_icons(icon_names::GRESOURCE_BYTES, icon_names::RESOURCE_PREFIX); let display = gtk::gdk::Display::default().unwrap(); let theme = gtk::IconTheme::for_display(&display); @@ -189,7 +195,7 @@ impl Component for AppModel { model.flows.widget(), Some("flows"), &lang::lookup("tab-flows"), - relm4_icons::icon_names::PAPYRUS_VERTICAL, + crate::ui::icon_names::PAPYRUS_VERTICAL, ); if !std::env::var("TA_HIDE_ACTION_EDITOR") .unwrap_or("no".to_string()) @@ -199,7 +205,7 @@ impl Component for AppModel { model.actions.widget(), Some("actions"), &lang::lookup("tab-actions"), - relm4_icons::icon_names::PUZZLE_PIECE, + crate::ui::icon_names::PUZZLE_PIECE, ); }