From 004ebd56150e96cad9bb17052214d09026dae334 Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Sun, 12 Feb 2023 02:07:42 +0100 Subject: [PATCH] cargo: Update dependencies --- Cargo.lock | 676 +++++++++++++++++++++------------ Cargo.toml | 12 +- src/application.rs | 14 +- src/file_model.rs | 8 +- src/image_metadata/obj.rs | 7 +- src/main.rs | 7 +- src/thumbnail.rs | 4 +- src/util.rs | 8 +- src/widgets/image.rs | 39 +- src/widgets/image_page.rs | 6 +- src/widgets/image_view.rs | 12 +- src/widgets/properties_view.rs | 14 +- src/widgets/sliding_view.rs | 24 +- src/window.rs | 56 +-- 14 files changed, 521 insertions(+), 366 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b3dfecd..1546af8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,15 +13,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "ashpd" -version = "0.4.0-alpha.1" +version = "0.4.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "045dde3c95c8f64855f286504bfb516f4d35f00b717023141b9e13daff2a73d9" +checksum = "3a03db93e3739203252bfe98ad0b31d4039a978c46c5673f5bf0e0c4ac2b42be" dependencies = [ "async-std", "enumflags2", @@ -40,9 +40,9 @@ dependencies = [ [[package]] name = "async-broadcast" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d26004fe83b2d1cd3a97609b21e39f9a31535822210fe83205d2ce48866ea61" +checksum = "1b19760fa2b7301cf235360ffd6d3558b1ed4249edd16d6cca8d690cee265b95" dependencies = [ "event-listener", "futures-core", @@ -106,7 +106,7 @@ dependencies = [ "slab", "socket2", "waker-fn", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -121,9 +121,9 @@ dependencies = [ [[package]] name = "async-recursion" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cda8f4bcc10624c4e85bc66b3f452cca98cfa5ca002dc83a16aad2367641bea" +checksum = "3b015a331cc64ebd1774ba119538573603427eaace0a1950c423ab971f903796" dependencies = [ "proc-macro2", "quote", @@ -164,9 +164,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "atomic-waker" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" +checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" [[package]] name = "atty" @@ -233,9 +233,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" + +[[package]] +name = "bytecount" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" [[package]] name = "byteorder" @@ -245,13 +251,13 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cairo-rs" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "247e1183fa769ac22121f92276dae52f89acaf297f24b1320019f439b6e3b46f" +checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871" dependencies = [ "bitflags", "cairo-sys-rs", - "glib 0.16.6", + "glib 0.17.1", "libc", "once_cell", "thiserror", @@ -259,20 +265,51 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" +checksum = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e" dependencies = [ - "glib-sys 0.16.3", + "glib-sys 0.17.0", "libc", "system-deps", ] [[package]] -name = "cc" -version = "1.0.77" +name = "camino" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.16", + "serde", + "serde_json", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -291,9 +328,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "concurrent-queue" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" dependencies = [ "crossbeam-utils", ] @@ -417,6 +454,15 @@ dependencies = [ "termcolor", ] +[[package]] +name = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "version_check", +] + [[package]] name = "event-listener" version = "2.5.3" @@ -425,9 +471,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -453,9 +499,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -468,9 +514,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -478,15 +524,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -495,9 +541,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -516,9 +562,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -527,21 +573,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -557,57 +603,58 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.16.4" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3094f2b8578136d1929cade4e0fff82f573521b579e96cfc24af2458431f176" +checksum = "b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf" dependencies = [ "bitflags", "gdk-pixbuf-sys", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "libc", + "once_cell", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" +checksum = "7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b" dependencies = [ - "gio-sys 0.16.3", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "gio-sys 0.17.0", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "libc", "system-deps", ] [[package]] name = "gdk4" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2181330ebf9d091f8ea7fed6877f7adc92114128592e1fdaeb1da28e0d01e9" +checksum = "6e4887e17b6926db51f1e538d871a8b1f5ceb5dfa3bd0034dc42ec355b390d8f" dependencies = [ "bitflags", "cairo-rs", "gdk-pixbuf", "gdk4-sys", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "libc", "pango", ] [[package]] name = "gdk4-sys" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de55cb49432901fe2b3534177fa06844665b9b0911d85d8601a8d8b88b7791db" +checksum = "f4993c019bf03d18137c00ddafb2b23e73f7cbb45ae244f52af2542a3f4a9452" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", - "gio-sys 0.16.3", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "gio-sys 0.17.0", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "libc", "pango-sys", "pkg-config", @@ -616,49 +663,49 @@ dependencies = [ [[package]] name = "gdk4-wayland" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee24d5a659ecca2170642c0db211446e7fdbc7ebcf1e63be99405df6f541c15" +checksum = "0f6101812fc251eeb7ba5babe62b291505a8e6f64326929b657923049e39acee" dependencies = [ "gdk4", "gdk4-wayland-sys", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "libc", ] [[package]] name = "gdk4-wayland-sys" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb03e044a5f6ae9270823a8ef89739808845120d47b2be83de785e044c83386" +checksum = "f9b33e54388919cb9f289075202eefeee9b4633188d835ce77d81224dc4cd219" dependencies = [ - "glib-sys 0.16.3", + "glib-sys 0.17.0", "libc", "system-deps", ] [[package]] name = "gdk4-x11" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d739e89b1be52f2216a6fe81a8ed7225c882b7c4f67a44c13506cc028ec48e62" +checksum = "f843aaaa34487384060dd86ef9737ebd5d6dbd90e75d73991f3b706aee645b13" dependencies = [ "gdk4", "gdk4-x11-sys", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "libc", ] [[package]] name = "gdk4-x11-sys" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5493c6af80cdc84b284714b3313af45788a8f1afd34b020f915f6e7cd65f502" +checksum = "7eafef0f400d191b6176144e7c7d41c8027232d563e1def5460b9328638eecdd" dependencies = [ "gdk4-sys", - "glib-sys 0.16.3", + "glib-sys 0.17.0", "libc", "system-deps", ] @@ -723,17 +770,17 @@ dependencies = [ [[package]] name = "gio" -version = "0.16.6" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8fac6c15256cdf84beb9a4948f786f9605799ad69675ea1b8932753f3aa94cf" +checksum = "1981edf8679d2f2c8ec3120015867f45aa0a1c2d5e3e129ca2f7dda174d3d2a9" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-io", "futures-util", - "gio-sys 0.16.3", - "glib 0.16.6", + "gio-sys 0.17.0", + "glib 0.17.1", "libc", "once_cell", "pin-project-lite", @@ -756,12 +803,12 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" +checksum = "b5d3076ecb86c8c3a672c9843d6232b3a344fb81d304d0ba1ac64b23343efa46" dependencies = [ - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "libc", "system-deps", "winapi", @@ -789,9 +836,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.16.6" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89359c8c338310b46300502814fc5a0350bb731ddfea03d0ec725d32163244b7" +checksum = "91b429154ec5943185aeeaf79e646297567b6a056965f1e89da2657a0e23255b" dependencies = [ "bitflags", "futures-channel", @@ -799,11 +846,12 @@ dependencies = [ "futures-executor", "futures-task", "futures-util", - "gio-sys 0.16.3", - "glib-macros 0.16.3", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "gio-sys 0.17.0", + "glib-macros 0.17.1", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "libc", + "memchr", "once_cell", "smallvec", "thiserror", @@ -826,9 +874,9 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.16.3" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e084807350b01348b6d9dbabb724d1a0bb987f47a2c85de200e98e12e30733bf" +checksum = "9bc80ac951300ca288dd9ab3863743c37a608fb0e5ca12863495640ec6b781ab" dependencies = [ "anyhow", "heck", @@ -851,19 +899,25 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65" +checksum = "9ddcb73fa8236277bedadaaadb76aef49c85d66340f83bece244f46c2d4f0e01" dependencies = [ "libc", "system-deps", ] [[package]] -name = "gloo-timers" -version = "0.2.5" +name = "glob" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" dependencies = [ "futures-channel", "futures-core", @@ -884,33 +938,33 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" +checksum = "9a0155d388840c77d61b033b66ef4f9bc7f4133d83df83572d6b4fb234a3be7d" dependencies = [ - "glib-sys 0.16.3", + "glib-sys 0.17.0", "libc", "system-deps", ] [[package]] name = "graphene-rs" -version = "0.16.3" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ecb4d347e6d09820df3bdfd89a74a8eec07753a06bb92a3aac3ad31d04447b" +checksum = "21cf11565bb0e4dfc2f99d4775b6c329f0d40a2cff9c0066214d31a0e1b46256" dependencies = [ - "glib 0.16.6", + "glib 0.17.1", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9aa82337d3972b4eafdea71e607c23f47be6f27f749aab613f1ad8ddbe6dcd6" +checksum = "cf80a4849a8d9565410a8fec6fc3678e9c617f4ac7be182ca55ab75016e07af9" dependencies = [ - "glib-sys 0.16.3", + "glib-sys 0.17.0", "libc", "pkg-config", "system-deps", @@ -918,14 +972,14 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591239f5c52ca803b222124ac9c47f230cd180cee9b114c4d672e4a94b74f491" +checksum = "432f981e4ea9f0739a5731d8a649acb794a3a729d2254e559ce7d613b17caf95" dependencies = [ "bitflags", "cairo-rs", "gdk4", - "glib 0.16.6", + "glib 0.17.1", "graphene-rs", "gsk4-sys", "libc", @@ -934,14 +988,14 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195a63f0be42529f98c3eb3bae0decfd0428ba2cc683b3e20ced88f340904ec5" +checksum = "096cb59175b0915ebf69c05a45263c0c989bd8537b8f2169912d0de644ba6a76" dependencies = [ "cairo-sys-rs", "gdk4-sys", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "graphene-sys", "libc", "pango-sys", @@ -956,9 +1010,9 @@ checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a" [[package]] name = "gtk4" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd89dba65def483a233dc4fdd3f3dab01576e3d83f80f6c9303ebe421661855e" +checksum = "73421200ad9c3919d0720779b345b05d31a6ce9998e74fc27012f12580822e46" dependencies = [ "bitflags", "cairo-rs", @@ -966,8 +1020,8 @@ dependencies = [ "futures-channel", "gdk-pixbuf", "gdk4", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "graphene-rs", "gsk4", "gtk4-macros", @@ -979,9 +1033,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832687a415d9d8bc11fe9c17dda1bf13ee262c41b995dd4df1d1cce33cead405" +checksum = "db4676c4f90d8b010e88cb4558f61f47d76d6f6b8e6f6b89e62640f443907f61" dependencies = [ "anyhow", "proc-macro-crate", @@ -994,16 +1048,16 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e370564e3fdacff7cffc99f7366b6a4689feb44e819d3ccee598a9a215b71605" +checksum = "e13cf3bc9559f71963c957eb639060b643e1276ae47b892ef6091d5bc15c3e1b" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", - "gio-sys 0.16.3", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "gio-sys 0.17.0", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "graphene-sys", "gsk4-sys", "libc", @@ -1032,9 +1086,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1090,10 +1144,16 @@ dependencies = [ ] [[package]] -name = "js-sys" -version = "0.3.60" +name = "itoa" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" + +[[package]] +name = "js-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -1124,15 +1184,16 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libadwaita" -version = "0.2.1" -source = "git+https://gitlab.gnome.org/sophie-h/libadwaita-rs.git?branch=wip/sophie-h/swipeable#312a55327aeb23e160714249fe646ed36b6878e1" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c4efd2020a4fcedbad2c4a97de97bf6045e5dc49d61d5a5d0cfd753db60700" dependencies = [ "bitflags", "futures-channel", "gdk-pixbuf", "gdk4", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "gtk4", "libadwaita-sys", "libc", @@ -1142,13 +1203,14 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.2.1" -source = "git+https://gitlab.gnome.org/sophie-h/libadwaita-rs.git?branch=wip/sophie-h/swipeable#312a55327aeb23e160714249fe646ed36b6878e1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0727b85b4fe2b1bed5ac90df6343de15cbf8118bfb96d7c3cc1512681a4b34ac" dependencies = [ "gdk4-sys", - "gio-sys 0.16.3", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "gio-sys 0.17.0", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "gtk4-sys", "libc", "pango-sys", @@ -1157,9 +1219,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.138" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libgweather" @@ -1218,7 +1280,7 @@ dependencies = [ "futures", "futures-channel", "gettext-rs", - "gio 0.16.6", + "gio 0.17.0", "gtk-macros", "gtk4", "indexmap", @@ -1276,6 +1338,15 @@ dependencies = [ "pin-utils", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "objc" version = "0.2.7" @@ -1307,15 +1378,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "ordered-stream" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ca8c99d73c6e92ac1358f9f692c22c0bfd9c4701fa086f5d365c0d4ea818ea" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" dependencies = [ "futures-core", "pin-project-lite", @@ -1323,13 +1394,13 @@ dependencies = [ [[package]] name = "pango" -version = "0.16.5" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94" +checksum = "243c048be90312220fb3bd578176eed8290568274a93c95040289d39349384bc" dependencies = [ "bitflags", - "gio 0.16.6", - "glib 0.16.6", + "gio 0.17.0", + "glib 0.17.1", "libc", "once_cell", "pango-sys", @@ -1337,12 +1408,12 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" +checksum = "4293d0f0b5525eb5c24734d30b0ed02cd02aa734f216883f376b54de49625de8" dependencies = [ - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.17.0", + "gobject-sys 0.17.0", "libc", "system-deps", ] @@ -1365,15 +1436,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] @@ -1384,9 +1455,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.5.1" +version = "2.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0" +checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" dependencies = [ "thiserror", "ucd-trie", @@ -1412,16 +1483,16 @@ checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "polling" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "166ca89eb77fd403230b9c156612965a81e094ec6ec3aa13663d4c8b113fa748" +checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ "autocfg", "cfg-if", "libc", "log", "wepoll-ffi", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1442,13 +1513,12 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -1477,13 +1547,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] +[[package]] +name = "pulldown-cmark" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -1501,9 +1582,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -1560,9 +1641,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -1586,9 +1667,9 @@ dependencies = [ [[package]] name = "roxmltree" -version = "0.15.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9de9831a129b122e7e61f242db509fa9d0838008bf0b29bb0624669edfe48a" +checksum = "d8f595a457b6b8c6cda66a48503e92ee8d19342f905948f29c383200ec9eb1d8" dependencies = [ "xmlparser", ] @@ -1599,7 +1680,22 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" dependencies = [ - "semver", + "semver 0.11.0", +] + +[[package]] +name = "ryu" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", ] [[package]] @@ -1617,6 +1713,15 @@ dependencies = [ "semver-parser", ] +[[package]] +name = "semver" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +dependencies = [ + "serde", +] + [[package]] name = "semver-parser" version = "0.10.2" @@ -1628,18 +1733,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.150" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.150" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -1647,10 +1752,21 @@ dependencies = [ ] [[package]] -name = "serde_repr" -version = "0.1.9" +name = "serde_json" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" dependencies = [ "proc-macro2", "quote", @@ -1668,6 +1784,21 @@ dependencies = [ "digest", ] +[[package]] +name = "skeptic" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" +dependencies = [ + "bytecount", + "cargo_metadata", + "error-chain", + "glob", + "pulldown-cmark", + "tempfile", + "walkdir", +] + [[package]] name = "slab" version = "0.4.7" @@ -1701,21 +1832,22 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "svg_metadata" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eacedf9d5c2552d510718db410b2c0e0f367456acacf317000d6d31067e50ccd" +checksum = "a42f3d2c6f543a8c57cdb434697334f33faf56f9acc141e2bbe4bb1994055200" dependencies = [ "doc-comment", "lazy_static", "regex", "roxmltree", + "skeptic", ] [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -1757,27 +1889,27 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -1795,19 +1927,36 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +dependencies = [ + "indexmap", + "nom8", + "toml_datetime", +] + [[package]] name = "tracing" version = "0.1.37" @@ -1863,16 +2012,25 @@ dependencies = [ ] [[package]] -name = "unicode-bidi" -version = "0.3.8" +name = "unicase" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -1923,6 +2081,17 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -1931,9 +2100,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1941,9 +2110,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -1956,9 +2125,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -1968,9 +2137,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1978,9 +2147,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -1991,15 +2160,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -2061,46 +2230,70 @@ dependencies = [ ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.0" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "xmlparser" @@ -2110,12 +2303,11 @@ checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd" [[package]] name = "zbus" -version = "3.6.2" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938ea6da98c75c2c37a86007bd17fd8e208cbec24e086108c87ece98e9edec0d" +checksum = "f770930448dd412a4a7131dd968a8e6df0064db4d7916fbbd2d6c3f26b566938" dependencies = [ "async-broadcast", - "async-channel", "async-executor", "async-io", "async-lock", @@ -2149,9 +2341,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "3.6.2" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45066039ebf3330820e495e854f8b312abb68f0a39e97972d092bd72e8bb3e8e" +checksum = "4832059b438689017db7340580ebabba07f114eab91bf990c6e55052408b40d8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2162,9 +2354,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c737644108627748a660d038974160e0cbb62605536091bdfa28fd7f64d43c8" +checksum = "f34f314916bd89bdb9934154627fab152f4f28acdda03e7c4c68181b214fe7e3" dependencies = [ "serde", "static_assertions", @@ -2173,9 +2365,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f8c89c183461e11867ded456db252eae90874bc6769b7adbea464caa777e51" +checksum = "903169c05b9ab948ee93fefc9127d08930df4ce031d46c980784274439803e51" dependencies = [ "byteorder", "enumflags2", @@ -2188,9 +2380,9 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155247a5d1ab55e335421c104ccd95d64f17cebbd02f50cdbc1c33385f9c4d81" +checksum = "cce76636e8fab7911be67211cf378c252b115ee7f2bae14b18b84821b39260b5" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index d5f6d91..e0160a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,25 +22,23 @@ libgweather = "4.0.0" indexmap = "1.9.2" [dependencies.ashpd] -version = "0.4.0-alpha.1" +version = "0.4.0-alpha.3" features = ["gtk4"] [dependencies.gtk] package = "gtk4" -version = "0.5.5" +version = "0.6.0" features = ["v4_10", "xml_validation"] [dependencies.gio] package = "gio" -version = "0.16.3" +version = "0.17.0" features = ["v2_74"] [dependencies.adw] package = "libadwaita" -version = "0.2.0" -features = ["v1_2"] -git = "https://gitlab.gnome.org/sophie-h/libadwaita-rs.git" -branch = "wip/sophie-h/swipeable" +version = "0.3.1" +features = ["v1_3"] [dependencies.gettext-rs] version = "0.7.0" diff --git a/src/application.rs b/src/application.rs index 3e9b032..973b28b 100644 --- a/src/application.rs +++ b/src/application.rs @@ -50,7 +50,7 @@ mod imp { // Overrides GObject vfuncs impl ObjectImpl for LpApplication { fn constructed(&self) { - let obj = self.instance(); + let obj = self.obj(); self.parent_constructed(); @@ -66,14 +66,14 @@ mod imp { // Overrides GApplication vfuncs impl ApplicationImpl for LpApplication { fn activate(&self) { - let application = self.instance(); + let application = self.obj(); let window = LpWindow::new(&*application); window.present(); } // Handles opening files from the command line or other applications fn open(&self, files: &[gio::File], _hint: &str) { - let application = self.instance(); + let application = self.obj(); for file in files { let Some(path) = file.path() else { log::error!("File has no path {}", file.uri()); return; }; @@ -161,7 +161,7 @@ impl LpApplication { .build(), ]; - self.add_action_entries(actions).unwrap(); + self.add_action_entries(actions); self.set_accels_for_action("app.help", &["F1"]); self.set_accels_for_action("app.quit", &["Q"]); @@ -220,10 +220,10 @@ impl LpApplication { // an object and set all relevant properties very // easily in a way that's idiomatic to Rust. let about = adw::AboutWindow::builder() - .application_name(&i18n("Loupe")) + .application_name(i18n("Loupe")) .application_icon(config::APP_ID) .version(config::VERSION) - .developer_name(&i18n("Christopher Davis")) + .developer_name(i18n("Christopher Davis")) .website("https://gitlab.gnome.org/Incubator/loupe") .issue_url("https://gitlab.gnome.org/Incubator/loupe/-/issues/new") .developers(vec![ @@ -235,7 +235,7 @@ impl LpApplication { String::from("Jakub Steiner"), String::from("Tobias Bernard"), ]) - .copyright(&i18n("Copyright © 2020–2022 Christopher Davis et al.")) + .copyright(i18n("Copyright © 2020–2022 Christopher Davis et al.")) .license_type(gtk::License::Gpl30) .build(); diff --git a/src/file_model.rs b/src/file_model.rs index f3b2dc0..0be35f5 100644 --- a/src/file_model.rs +++ b/src/file_model.rs @@ -65,7 +65,7 @@ glib::wrapper! { impl Default for LpFileModel { fn default() -> Self { - glib::Object::new(&[]) + glib::Object::new() } } @@ -105,8 +105,8 @@ impl LpFileModel { .enumerate_children( &format!( "{},{}", - *gio::FILE_ATTRIBUTE_STANDARD_NAME, - *gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE + gio::FILE_ATTRIBUTE_STANDARD_NAME, + gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ), gio::FileQueryInfoFlags::NONE, gio::Cancellable::NONE, @@ -231,7 +231,7 @@ impl LpFileModel { } fn is_image_file(file: &gio::File) -> bool { - let Ok(info) = util::query_attributes(file, vec![&gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE]) else { + let Ok(info) = util::query_attributes(file, vec![gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE]) else { log::warn!("Could not query file info: {:?}", file.path()); return false; }; diff --git a/src/image_metadata/obj.rs b/src/image_metadata/obj.rs index b24d415..07f7e0b 100644 --- a/src/image_metadata/obj.rs +++ b/src/image_metadata/obj.rs @@ -15,7 +15,7 @@ glib::wrapper! { impl LpImageMetadata { pub fn load(path: &Path) -> Self { - let obj = glib::Object::new::(&[]); + let obj = glib::Object::new::(); let metadata = ImageMetadata::load(path); obj.imp().metadata.replace(metadata); @@ -34,7 +34,7 @@ impl LpImageMetadata { impl From for LpImageMetadata { fn from(metadata: ImageMetadata) -> Self { - let obj = glib::Object::new::(&[]); + let obj = glib::Object::new::(); obj.imp().metadata.replace(metadata); @@ -44,7 +44,7 @@ impl From for LpImageMetadata { impl Default for LpImageMetadata { fn default() -> Self { - glib::Object::new(&[]) + glib::Object::new() } } @@ -90,7 +90,6 @@ mod imp { } fn property(&self, _id: usize, pspec: &glib::ParamSpec) -> glib::Value { - //let obj = self.instance(); let metadata = self.metadata.borrow(); match pspec.name() { "has-information" => (!metadata.is_none()).to_value(), diff --git a/src/main.rs b/src/main.rs index 7b9ab9c..f7c39be 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,8 +35,9 @@ mod deps { } use application::LpApplication; +use deps::*; -fn main() { +fn main() -> glib::ExitCode { pretty_env_logger::init_timed(); setlocale(LocaleCategory::LcAll, ""); @@ -47,7 +48,5 @@ fn main() { .expect("Could not load resources"); gio::resources_register(&res); - let app = LpApplication::new(); - let ret = app.run(); - std::process::exit(ret); + LpApplication::new().run() } diff --git a/src/thumbnail.rs b/src/thumbnail.rs index 252c5bb..516bc49 100644 --- a/src/thumbnail.rs +++ b/src/thumbnail.rs @@ -54,7 +54,7 @@ mod imp { } fn snapshot(&self, snapshot: &gdk::Snapshot, _width: f64, _height: f64) { - let paintable = self.instance(); + let paintable = self.obj(); let width = paintable.intrinsic_width() as f64; let height = paintable.intrinsic_height() as f64; @@ -74,7 +74,7 @@ glib::wrapper! { impl Thumbnail { pub fn new(paintable: &impl glib::IsA) -> Self { - let object = glib::Object::new::(&[]); + let object = glib::Object::new::(); let imp = object.imp(); imp.image.set(paintable.clone().upcast()).unwrap(); diff --git a/src/util.rs b/src/util.rs index 1c52fa4..c6880a6 100644 --- a/src/util.rs +++ b/src/util.rs @@ -9,7 +9,7 @@ use std::fmt::{Debug, Write}; use std::path::{Path, PathBuf}; pub fn get_file_display_name(file: &gio::File) -> Option { - let info = query_attributes(file, vec![&gio::FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME]).ok()?; + let info = query_attributes(file, vec![gio::FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME]).ok()?; Some(info.display_name().to_string()) } @@ -60,8 +60,8 @@ pub fn compare_by_name(file_a: &Path, file_b: &Path) -> std::cmp::Ordering { static FILE_ATTRIBUTE_TRASH: Lazy = Lazy::new(|| { [ - *gio::FILE_ATTRIBUTE_STANDARD_NAME, - *gio::FILE_ATTRIBUTE_TRASH_ORIG_PATH, + gio::FILE_ATTRIBUTE_STANDARD_NAME.as_str(), + gio::FILE_ATTRIBUTE_TRASH_ORIG_PATH.as_str(), ] .join(",") }); @@ -90,7 +90,7 @@ pub async fn untrash(path: &Path) -> anyhow::Result<()> { let Some(file_info) = info.first() else { break; }; - let Some(original_path) = file_info.attribute_byte_string(&gio::FILE_ATTRIBUTE_TRASH_ORIG_PATH).as_ref().map(PathBuf::from) + let Some(original_path) = file_info.attribute_byte_string(gio::FILE_ATTRIBUTE_TRASH_ORIG_PATH).as_ref().map(PathBuf::from) else { break; }; if original_path == path { diff --git a/src/widgets/image.rs b/src/widgets/image.rs index 748ca72..37f76b4 100644 --- a/src/widgets/image.rs +++ b/src/widgets/image.rs @@ -172,7 +172,7 @@ mod imp { } fn property(&self, _id: usize, pspec: &glib::ParamSpec) -> glib::Value { - let obj = self.instance(); + let obj = self.obj(); match pspec.name() { "file" => obj.file().to_value(), "path" => obj.path().to_variant().to_value(), @@ -194,7 +194,7 @@ mod imp { } fn set_property(&self, _id: usize, value: &glib::Value, pspec: &glib::ParamSpec) { - let obj = self.instance(); + let obj = self.obj(); match pspec.name() { "rotation" => obj.set_rotation(value.get().unwrap()), "mirrored" => obj.set_mirrored(value.get().unwrap()), @@ -210,7 +210,7 @@ mod imp { fn constructed(&self) { self.parent_constructed(); - let obj = self.instance(); + let obj = self.obj(); obj.set_hexpand(true); obj.set_vexpand(true); obj.set_overflow(gtk::Overflow::Hidden); @@ -224,7 +224,7 @@ mod imp { } fn dispose(&self) { - let obj = self.instance(); + let obj = self.obj(); // remove target fron zoom animation because it's property of this object obj.rotation_animation() @@ -240,7 +240,7 @@ mod imp { impl LpImage { fn connect_controllers(&self) { - let obj = self.instance(); + let obj = self.obj(); // Needed vor having the current cursor position available let motion_controller = gtk::EventControllerMotion::new(); @@ -253,7 +253,7 @@ mod imp { motion_controller.connect_leave(glib::clone!(@weak obj => move |_| { obj.imp().pointer_position.set(None); })); - obj.add_controller(&motion_controller); + obj.add_controller(motion_controller); // Zoom via scroll wheels etc let scroll_controller = @@ -312,15 +312,15 @@ mod imp { gtk::Inhibit(true) })); - obj.add_controller(&scroll_controller); + obj.add_controller(scroll_controller); } fn connect_gestures(&self) { - let obj = self.instance(); + let obj = self.obj(); // Double click for fullscreen (mouse/touchpad) or zoom (touch screen) let left_click_gesture = gtk::GestureClick::builder().button(1).build(); - obj.add_controller(&left_click_gesture); + obj.add_controller(left_click_gesture.clone()); left_click_gesture.connect_pressed( glib::clone!(@weak obj => move |gesture, n_press, x, y| { // only handle double clicks @@ -347,7 +347,7 @@ mod imp { // Drag for moving image around let drag_gesture = gtk::GestureDrag::new(); - obj.add_controller(&drag_gesture); + obj.add_controller(drag_gesture.clone()); drag_gesture.connect_drag_begin(glib::clone!(@weak obj => move |gesture, _, _| { if obj.is_hscrollable() || obj.is_vscrollable() { @@ -378,7 +378,7 @@ mod imp { // Rotate let rotation_gesture = gtk::GestureRotate::new(); - obj.add_controller(&rotation_gesture); + obj.add_controller(rotation_gesture.clone()); rotation_gesture.connect_angle_changed( glib::clone!(@weak obj => move |gesture, _, _| { @@ -399,7 +399,7 @@ mod imp { // Zoom let zoom_gesture = gtk::GestureZoom::new(); - obj.add_controller(&zoom_gesture); + obj.add_controller(zoom_gesture.clone()); zoom_gesture.connect_begin(glib::clone!(@weak obj => move |gesture, _| { obj.imp() @@ -448,7 +448,7 @@ mod imp { impl WidgetImpl for LpImage { // called when the widget size might have changed fn size_allocate(&self, width: i32, height: i32, _baseline: i32) { - let widget = self.instance(); + let widget = self.obj(); // ensure there is an actual size change if self.widget_dimensions.get() != (width, height) { @@ -458,7 +458,7 @@ mod imp { let best_fit_level = widget.zoom_level_best_fit(); self.zoom.set(best_fit_level); self.zoom_target.set(best_fit_level); - self.instance().zoom_animation().pause(); + self.obj().zoom_animation().pause(); } } @@ -468,7 +468,7 @@ mod imp { // called when the widget content should be re-rendered fn snapshot(&self, snapshot: >k::Snapshot) { if let Some(texture) = self.texture.borrow().as_ref() { - let widget = self.instance(); + let widget = self.obj(); let widget_width = widget.width() as f64; let widget_height = widget.height() as f64; @@ -531,15 +531,16 @@ mod imp { } fn measure(&self, orientation: gtk::Orientation, _for_size: i32) -> (i32, i32, i32, i32) { - let (image_width, image_height) = self.instance().image_size(); + let (image_width, image_height) = self.obj().image_size(); if image_width > 0 && image_height > 0 { if let Some(display) = gdk::Display::default() { - if let Some(native) = self.instance().native() { - let hidpi_scale = self.instance().scale_factor() as f64; + if let Some(native) = self.obj().native() { + let hidpi_scale = self.obj().scale_factor() as f64; // get monitor information - let monitor = display.monitor_at_surface(&native.surface()); + // TODO: Get rid of unwrap + let monitor = display.monitor_at_surface(&native.surface()).unwrap(); let monitor_geometry = monitor.geometry(); // TODO: Per documentation those dimensions should not be physical pixels. // But on Wayland they are physiscal pixels and on X11 not. diff --git a/src/widgets/image_page.rs b/src/widgets/image_page.rs index 1c1f1fe..822cf70 100644 --- a/src/widgets/image_page.rs +++ b/src/widgets/image_page.rs @@ -87,7 +87,7 @@ mod imp { } fn property(&self, _id: usize, pspec: &glib::ParamSpec) -> glib::Value { - let obj = self.instance(); + let obj = self.obj(); match pspec.name() { "image" => obj.image().to_value(), "error" => obj.error().to_value(), @@ -96,7 +96,7 @@ mod imp { } fn constructed(&self) { - let obj = self.instance(); + let obj = self.obj(); self.parent_constructed(); @@ -127,7 +127,7 @@ glib::wrapper! { impl LpImagePage { pub fn from_path(path: &Path) -> Self { - let obj = glib::Object::new::(&[]); + let obj = glib::Object::new::(); let path = path.to_path_buf(); let file = gio::File::for_path(&path); diff --git a/src/widgets/image_view.rs b/src/widgets/image_view.rs index cbde007..8e1821c 100644 --- a/src/widgets/image_view.rs +++ b/src/widgets/image_view.rs @@ -101,7 +101,7 @@ mod imp { } fn property(&self, _id: usize, psec: &glib::ParamSpec) -> glib::Value { - let obj = self.instance(); + let obj = self.obj(); match psec.name() { "current-page" => obj.current_page().to_value(), "is-previous-available" => obj.is_previous_available().to_value(), @@ -111,12 +111,12 @@ mod imp { } fn constructed(&self) { - let obj = self.instance(); + let obj = self.obj(); self.parent_constructed(); // Manually mange widget layout, see `WidgetImpl` for details - obj.set_layout_manager(gtk::LayoutManager::NONE); + obj.set_layout_manager(None::); obj.property_expression("current-page") .chain_property::("image") @@ -164,7 +164,7 @@ mod imp { }; })); - obj.add_controller(&source); + obj.add_controller(source); } } @@ -188,7 +188,7 @@ mod imp { // take as minimum whatever is larger let min = i32::max(child_min, overlay1_min + overlay2_min); - if let Some(page) = self.instance().current_page() { + if let Some(page) = self.obj().current_page() { // measure `LpImage` let (_, image_natural, _, _) = page.image().measure(orientation, for_size); @@ -575,7 +575,7 @@ impl LpImageView { let pb = gdk_pixbuf::Pixbuf::from_file(path)?; let setup = gtk::PageSetup::default(); - let page_size = gtk::PaperSize::new(Some(>k::PAPER_NAME_A4)); + let page_size = gtk::PaperSize::new(Some(gtk::PAPER_NAME_A4)); setup.set_paper_size(&page_size); operation.set_default_page_setup(Some(&setup)); diff --git a/src/widgets/properties_view.rs b/src/widgets/properties_view.rs index f8a9401..3255712 100644 --- a/src/widgets/properties_view.rs +++ b/src/widgets/properties_view.rs @@ -112,7 +112,7 @@ mod imp { } fn property(&self, _id: usize, pspec: &glib::ParamSpec) -> glib::Value { - let obj = self.instance(); + let obj = self.obj(); let prop_name = pspec.name(); match prop_name { @@ -126,7 +126,7 @@ mod imp { } fn set_property(&self, _id: usize, value: &glib::Value, pspec: &glib::ParamSpec) { - let obj = self.instance(); + let obj = self.obj(); let prop_name = pspec.name(); match prop_name { @@ -136,7 +136,7 @@ mod imp { } fn constructed(&self) { - let obj = self.instance(); + let obj = self.obj(); self.parent_constructed(); obj.action_set_enabled("properties.open-folder", false); @@ -254,10 +254,10 @@ impl LpPropertiesView { if let Ok(info) = util::query_attributes_future( &file, vec![ - &gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, - &gio::FILE_ATTRIBUTE_STANDARD_SIZE, - &gio::FILE_ATTRIBUTE_TIME_CREATED, - &gio::FILE_ATTRIBUTE_TIME_MODIFIED, + gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, + gio::FILE_ATTRIBUTE_STANDARD_SIZE, + gio::FILE_ATTRIBUTE_TIME_CREATED, + gio::FILE_ATTRIBUTE_TIME_MODIFIED, ], ) .await { diff --git a/src/widgets/sliding_view.rs b/src/widgets/sliding_view.rs index 488ccde..5b12f64 100644 --- a/src/widgets/sliding_view.rs +++ b/src/widgets/sliding_view.rs @@ -69,7 +69,7 @@ mod imp { } fn property(&self, _id: usize, pspec: &glib::ParamSpec) -> glib::Value { - let obj = self.instance(); + let obj = self.obj(); match pspec.name() { "current-page" => obj.current_page().to_value(), name => unimplemented!("property {name}"), @@ -83,13 +83,13 @@ mod imp { } fn constructed(&self) { - let obj = self.instance(); + let obj = self.obj(); self.parent_constructed(); - self.instance().set_overflow(gtk::Overflow::Hidden); + self.obj().set_overflow(gtk::Overflow::Hidden); let swipe_tracker = adw::SwipeTracker::builder() - .swipeable(&*self.instance()) + .swipeable(&*self.obj()) .reversed(self.is_rtl()) .build(); @@ -135,7 +135,7 @@ mod imp { }), ); - obj.add_controller(&scroll_controller); + obj.add_controller(scroll_controller); } } @@ -155,12 +155,12 @@ mod imp { * (width as f32 + self.page_spacing(width)); let transform = gsk::Transform::new().translate(&graphene::Point::new(x, 0.)); - page.allocate(width, height, 0, Some(&transform)); + page.allocate(width, height, 0, Some(transform)); } } fn measure(&self, orientation: gtk::Orientation, for_size: i32) -> (i32, i32, i32, i32) { - let obj = self.instance(); + let obj = self.obj(); for page in self.pages.borrow().iter() { if Some(page) != obj.current_page().as_ref() { @@ -185,18 +185,18 @@ mod imp { impl SwipeableImpl for LpSlidingView { fn progress(&self) -> f64 { - self.instance().position() + self.obj().position() } fn distance(&self) -> f64 { - let obj = self.instance(); + let obj = self.obj(); let width = obj.allocation().width(); width as f64 + self.page_spacing(width) as f64 } fn snap_points(&self) -> Vec { - let obj = self.instance(); + let obj = self.obj(); (0..obj.n_pages()) .map(|i| i as f64 - obj.position_shift()) @@ -204,7 +204,7 @@ mod imp { } fn cancel_progress(&self) -> f64 { - let obj = self.instance(); + let obj = self.obj(); let snap_points = self.snap_points(); if let (Some(min), Some(max)) = (snap_points.first(), snap_points.last()) { @@ -221,7 +221,7 @@ mod imp { } fn is_rtl(&self) -> bool { - let obj = self.instance(); + let obj = self.obj(); obj.direction() == gtk::TextDirection::Rtl } } diff --git a/src/window.rs b/src/window.rs index 05324e5..e7443dd 100644 --- a/src/window.rs +++ b/src/window.rs @@ -214,7 +214,7 @@ mod imp { impl ObjectImpl for LpWindow { fn constructed(&self) { - let obj = self.instance(); + let obj = self.obj(); self.parent_constructed(); @@ -337,8 +337,8 @@ mod imp { let info = util::query_attributes( &file, vec![ - &gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, - &gio::FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, + gio::FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, + gio::FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, ], ) .expect("Could not query file info"); @@ -427,7 +427,7 @@ impl LpWindow { filter_store.append(&filter); let chooser = gtk::FileDialog::builder() - .title(&i18n("Open Image")) + .title(i18n("Open Image")) .filters(&filter_store) .modal(true) .build(); @@ -495,8 +495,8 @@ impl LpWindow { match result { Ok(()) => { let toast = adw::Toast::builder() - .title(&i18n("Image moved to trash")) - .button_label(&i18n("Undo")) + .title(i18n("Image moved to trash")) + .button_label(i18n("Undo")) .build(); toast.connect_button_clicked(glib::clone!(@weak self as win => move |_| { let path = path.clone(); @@ -514,7 +514,7 @@ impl LpWindow { } }); })); - self.imp().toast_overlay.add_toast(&toast); + self.imp().toast_overlay.add_toast(toast); } Err(err) => { if Some(gio::IOErrorEnum::NotSupported) == err.kind::() { @@ -537,8 +537,8 @@ impl LpWindow { let dialog = adw::MessageDialog::builder() .modal(true) .transient_for(self) - .heading(&i18n("Permanently Delete Image?")) - .body(&i18n_f( + .heading(i18n("Permanently Delete Image?")) + .body(i18n_f( "The image “{}” can only be deleted permanently.", &[&PathBuf::from(&path.file_name().unwrap_or_default()) .display() @@ -549,7 +549,7 @@ impl LpWindow { dialog.add_responses(&[("cancel", &i18n("Cancel")), ("delete", &i18n("Delete"))]); dialog.set_response_appearance("delete", adw::ResponseAppearance::Destructive); - if "delete" == dialog.run_future().await { + if "delete" == dialog.choose_future().await { let file = gio::File::for_path(path); let result = file.delete_future(glib::Priority::default()).await; @@ -570,7 +570,7 @@ impl LpWindow { let toast = adw::Toast::new(text.as_ref()); toast.set_priority(priority); - imp.toast_overlay.add_toast(&toast); + imp.toast_overlay.add_toast(toast); } pub fn set_image_from_path(&self, path: &Path) { @@ -657,40 +657,6 @@ impl LpWindow { } } - // Adapted from https://gitlab.gnome.org/GNOME/eog/-/blob/master/src/eog-window.c:eog_window_obtain_desired_size - pub fn resize_from_dimensions(&self, img_width: i32, img_height: i32) { - let imp = self.imp(); - let mut final_width = img_width; - let mut final_height = img_height; - - let header_height = imp.headerbar.height(); - - // Ensure the window surface exists - if !self.is_realized() { - WidgetExt::realize(self); - } - - let display = gdk::Display::default().unwrap(); - let monitor = display.monitor_at_surface(&self.native().unwrap().surface()); - let monitor_geometry = monitor.geometry(); - - let monitor_width = monitor_geometry.width(); - let monitor_height = monitor_geometry.height(); - - if img_width > monitor_width || img_height + header_height > monitor_height { - let width_factor = (monitor_width as f32 * 0.85) / img_width as f32; - let height_factor = - (monitor_height as f32 * 0.85 - header_height as f32) / img_height as f32; - let factor = width_factor.min(height_factor); - - final_width = (final_width as f32 * factor).round() as i32; - final_height = (final_height as f32 * factor).round() as i32; - } - - self.set_default_size(final_width, final_height); - log::debug!("Window resized to {} x {}", final_width, final_height); - } - // In the LpWindow UI file we define a `gtk::Expression`s // that is a closure. This closure takes the current `gio::File` // and processes it to return a window title.