cargo: Update gtk-rs stack

This commit is contained in:
Sophie Herold 2024-02-05 16:27:05 +01:00
parent a7116925bf
commit 0ed7036098
11 changed files with 230 additions and 199 deletions

329
Cargo.lock generated
View file

@ -42,9 +42,9 @@ dependencies = [
[[package]] [[package]]
name = "anstyle" name = "anstyle"
version = "1.0.5" version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220" checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
[[package]] [[package]]
name = "anstyle-parse" name = "anstyle-parse"
@ -91,11 +91,11 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
[[package]] [[package]]
name = "ashpd" name = "ashpd"
version = "0.6.8" version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac22eda5891cc086690cb6fa10121c0390de0e3b04eb269f2d766b00d3f2d81" checksum = "01992ad7774250d5b7fe214e2676cb99bf92564436d8135ab44fe815e71769a9"
dependencies = [ dependencies = [
"async-fs 2.1.0", "async-fs 2.1.1",
"async-net", "async-net",
"enumflags2", "enumflags2",
"futures-channel", "futures-channel",
@ -103,7 +103,6 @@ dependencies = [
"gdk4-wayland", "gdk4-wayland",
"gdk4-x11", "gdk4-x11",
"gtk4", "gtk4",
"once_cell",
"rand", "rand",
"serde", "serde",
"serde_repr", "serde_repr",
@ -123,13 +122,13 @@ dependencies = [
[[package]] [[package]]
name = "async-channel" name = "async-channel"
version = "2.1.1" version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
dependencies = [ dependencies = [
"concurrent-queue", "concurrent-queue",
"event-listener 4.0.3", "event-listener 5.0.0",
"event-listener-strategy", "event-listener-strategy 0.5.0",
"futures-core", "futures-core",
"pin-project-lite", "pin-project-lite",
] ]
@ -162,9 +161,9 @@ dependencies = [
[[package]] [[package]]
name = "async-fs" name = "async-fs"
version = "2.1.0" version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd1f344136bad34df1f83a47f3fd7f2ab85d75cb8a940af4ccf6d482a84ea01b" checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
dependencies = [ dependencies = [
"async-lock 3.3.0", "async-lock 3.3.0",
"blocking", "blocking",
@ -218,8 +217,8 @@ dependencies = [
"futures-io", "futures-io",
"futures-lite 2.2.0", "futures-lite 2.2.0",
"parking", "parking",
"polling 3.3.2", "polling 3.4.0",
"rustix 0.38.30", "rustix 0.38.31",
"slab", "slab",
"tracing", "tracing",
"windows-sys 0.52.0", "windows-sys 0.52.0",
@ -241,7 +240,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
dependencies = [ dependencies = [
"event-listener 4.0.3", "event-listener 4.0.3",
"event-listener-strategy", "event-listener-strategy 0.4.0",
"pin-project-lite", "pin-project-lite",
] ]
@ -269,7 +268,7 @@ dependencies = [
"cfg-if", "cfg-if",
"event-listener 3.1.0", "event-listener 3.1.0",
"futures-lite 1.13.0", "futures-lite 1.13.0",
"rustix 0.38.30", "rustix 0.38.31",
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
@ -287,7 +286,7 @@ dependencies = [
"cfg-if", "cfg-if",
"event-listener 4.0.3", "event-listener 4.0.3",
"futures-lite 2.2.0", "futures-lite 2.2.0",
"rustix 0.38.30", "rustix 0.38.31",
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
@ -314,7 +313,7 @@ dependencies = [
"cfg-if", "cfg-if",
"futures-core", "futures-core",
"futures-io", "futures-io",
"rustix 0.38.30", "rustix 0.38.31",
"signal-hook-registry", "signal-hook-registry",
"slab", "slab",
"windows-sys 0.48.0", "windows-sys 0.48.0",
@ -409,9 +408,9 @@ dependencies = [
[[package]] [[package]]
name = "bytemuck" name = "bytemuck"
version = "1.14.1" version = "1.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9" checksum = "ea31d69bda4949c1c1562c1e6f042a1caefac98cdc8a298260a2ff41c1e2d42b"
[[package]] [[package]]
name = "byteorder" name = "byteorder"
@ -421,23 +420,22 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]] [[package]]
name = "cairo-rs" name = "cairo-rs"
version = "0.18.5" version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" checksum = "bc1c415b7088381c53c575420899c34c9e6312df5ac5defd05614210e9fd6e1b"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"cairo-sys-rs", "cairo-sys-rs",
"glib", "glib",
"libc", "libc",
"once_cell",
"thiserror", "thiserror",
] ]
[[package]] [[package]]
name = "cairo-sys-rs" name = "cairo-sys-rs"
version = "0.18.2" version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" checksum = "75b6a5fefce2eadb8333e3c604ac964ba6573ec4f28bdd17f67032c4a2831831"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
@ -634,6 +632,17 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
] ]
[[package]]
name = "event-listener"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
[[package]] [[package]]
name = "event-listener-strategy" name = "event-listener-strategy"
version = "0.4.0" version = "0.4.0"
@ -644,6 +653,16 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
] ]
[[package]]
name = "event-listener-strategy"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
dependencies = [
"event-listener 5.0.0",
"pin-project-lite",
]
[[package]] [[package]]
name = "fastrand" name = "fastrand"
version = "1.9.0" version = "1.9.0"
@ -817,22 +836,21 @@ dependencies = [
[[package]] [[package]]
name = "gdk-pixbuf" name = "gdk-pixbuf"
version = "0.18.5" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" checksum = "c311c47800051b87de1335e8792774d7cec551c91a0a3d109ab21d76b36f208f"
dependencies = [ dependencies = [
"gdk-pixbuf-sys", "gdk-pixbuf-sys",
"gio", "gio",
"glib", "glib",
"libc", "libc",
"once_cell",
] ]
[[package]] [[package]]
name = "gdk-pixbuf-sys" name = "gdk-pixbuf-sys"
version = "0.18.0" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
dependencies = [ dependencies = [
"gio-sys", "gio-sys",
"glib-sys", "glib-sys",
@ -843,9 +861,9 @@ dependencies = [
[[package]] [[package]]
name = "gdk4" name = "gdk4"
version = "0.7.3" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6" checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
dependencies = [ dependencies = [
"cairo-rs", "cairo-rs",
"gdk-pixbuf", "gdk-pixbuf",
@ -858,9 +876,9 @@ dependencies = [
[[package]] [[package]]
name = "gdk4-sys" name = "gdk4-sys"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0" checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
dependencies = [ dependencies = [
"cairo-sys-rs", "cairo-sys-rs",
"gdk-pixbuf-sys", "gdk-pixbuf-sys",
@ -875,9 +893,9 @@ dependencies = [
[[package]] [[package]]
name = "gdk4-wayland" name = "gdk4-wayland"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0db9102ff11e55bd65e153c1192abc21ddfa45ede90622e423d4e4a0e5d5f313" checksum = "075cdd6b1c8aee8aefd4216b5483024f29d4102ec180f770ae28fe54f53019cf"
dependencies = [ dependencies = [
"gdk4", "gdk4",
"gdk4-wayland-sys", "gdk4-wayland-sys",
@ -888,9 +906,9 @@ dependencies = [
[[package]] [[package]]
name = "gdk4-wayland-sys" name = "gdk4-wayland-sys"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d48159be256ae0212d5a2b9884627197d08082c7168b28775b53a0f9885d5624" checksum = "6e02d324a9bf7136bc4b610423537c5f5852d71f53dee8fe63d7ac658333e762"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
@ -899,9 +917,9 @@ dependencies = [
[[package]] [[package]]
name = "gdk4-x11" name = "gdk4-x11"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28c9bbf8ea1ea8469e74c3fdfafc142c9e14810a27f89ddb01b5e9076a60a450" checksum = "b2f2c2b41c444f5661fd6b4e42eff18e79df627863d3e0d3db8eef984b714c41"
dependencies = [ dependencies = [
"gdk4", "gdk4",
"gdk4-x11-sys", "gdk4-x11-sys",
@ -912,9 +930,9 @@ dependencies = [
[[package]] [[package]]
name = "gdk4-x11-sys" name = "gdk4-x11-sys"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3de1709370758192369f5329aa593847797f1c693c95e8a261e9b2e06a5f125" checksum = "a90e4b5371704921d6f7704282502a47020acb456dc66129a81889b652af4dfd"
dependencies = [ dependencies = [
"gdk4-sys", "gdk4-sys",
"glib-sys", "glib-sys",
@ -971,9 +989,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]] [[package]]
name = "gio" name = "gio"
version = "0.18.4" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" checksum = "b3d1aaa2d926710a27f3b35822806b1513b393b71174dd2601c9d02fdab0cb82"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -982,7 +1000,6 @@ dependencies = [
"gio-sys", "gio-sys",
"glib", "glib",
"libc", "libc",
"once_cell",
"pin-project-lite", "pin-project-lite",
"smallvec", "smallvec",
"thiserror", "thiserror",
@ -990,22 +1007,22 @@ dependencies = [
[[package]] [[package]]
name = "gio-sys" name = "gio-sys"
version = "0.18.1" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
"libc", "libc",
"system-deps", "system-deps",
"winapi", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
name = "glib" name = "glib"
version = "0.18.5" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" checksum = "170ee82b9b44b3b5fd1cf4971d6cf0eadec38303bb84c7bcc4e6b95a18934e71"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"futures-channel", "futures-channel",
@ -1019,20 +1036,18 @@ dependencies = [
"gobject-sys", "gobject-sys",
"libc", "libc",
"memchr", "memchr",
"once_cell",
"smallvec", "smallvec",
"thiserror", "thiserror",
] ]
[[package]] [[package]]
name = "glib-macros" name = "glib-macros"
version = "0.18.5" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" checksum = "2ff52fff7e4d1bb8598ae744e9bb90c8c76271712483c3f0ce931bee9814de85"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro-crate 2.0.2", "proc-macro-crate 3.1.0",
"proc-macro-error",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.48",
@ -1040,9 +1055,9 @@ dependencies = [
[[package]] [[package]]
name = "glib-sys" name = "glib-sys"
version = "0.18.1" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
dependencies = [ dependencies = [
"libc", "libc",
"system-deps", "system-deps",
@ -1050,12 +1065,12 @@ dependencies = [
[[package]] [[package]]
name = "glycin" name = "glycin"
version = "1.0.0-alpha.5" version = "1.0.0-alpha.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f68f9727c0e9bfe4bb7f5926ba77c22f26ca4bf846387950038c4239bcfa7e66" checksum = "40888ee0ac51bbc6d64f65bb06646e475c5ad5dfeb37c46333792caa8fa1b364"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-fs 2.1.0", "async-fs 2.1.1",
"async-global-executor", "async-global-executor",
"async-lock 3.3.0", "async-lock 3.3.0",
"async-process 2.0.1", "async-process 2.0.1",
@ -1067,6 +1082,7 @@ dependencies = [
"lcms2", "lcms2",
"lcms2-sys", "lcms2-sys",
"libc", "libc",
"libseccomp",
"memfd", "memfd",
"memmap2", "memmap2",
"nix 0.27.1", "nix 0.27.1",
@ -1076,12 +1092,13 @@ dependencies = [
[[package]] [[package]]
name = "glycin-utils" name = "glycin-utils"
version = "1.0.0-alpha.5" version = "1.0.0-alpha.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5864db08b8a22a40cfb2d3cca0fa83a2344e6dd37a0a8fbd80bc314ac43ad4ec" checksum = "573253c8a3e758ba70a62d9ff447185305dc9b4b19d9eec5e455593dc5845de1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"gettext-rs", "gettext-rs",
"libseccomp",
"rustix 0.37.27", "rustix 0.37.27",
"serde", "serde",
"zbus", "zbus",
@ -1089,9 +1106,9 @@ dependencies = [
[[package]] [[package]]
name = "gobject-sys" name = "gobject-sys"
version = "0.18.0" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
@ -1100,9 +1117,9 @@ dependencies = [
[[package]] [[package]]
name = "graphene-rs" name = "graphene-rs"
version = "0.18.1" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401" checksum = "147827e4f506f8073ac3ec5b28cc2255bdf3abc30f5b4e101a80506eebe11d2c"
dependencies = [ dependencies = [
"glib", "glib",
"graphene-sys", "graphene-sys",
@ -1111,9 +1128,9 @@ dependencies = [
[[package]] [[package]]
name = "graphene-sys" name = "graphene-sys"
version = "0.18.1" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59" checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
@ -1123,9 +1140,9 @@ dependencies = [
[[package]] [[package]]
name = "gsk4" name = "gsk4"
version = "0.7.3" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e" checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
dependencies = [ dependencies = [
"cairo-rs", "cairo-rs",
"gdk4", "gdk4",
@ -1138,9 +1155,9 @@ dependencies = [
[[package]] [[package]]
name = "gsk4-sys" name = "gsk4-sys"
version = "0.7.3" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55" checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
dependencies = [ dependencies = [
"cairo-sys-rs", "cairo-sys-rs",
"gdk4-sys", "gdk4-sys",
@ -1154,9 +1171,9 @@ dependencies = [
[[package]] [[package]]
name = "gtk4" name = "gtk4"
version = "0.7.3" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842" checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
dependencies = [ dependencies = [
"cairo-rs", "cairo-rs",
"field-offset", "field-offset",
@ -1175,24 +1192,24 @@ dependencies = [
[[package]] [[package]]
name = "gtk4-macros" name = "gtk4-macros"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f" checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"proc-macro-crate 1.3.1", "proc-macro-crate 3.1.0",
"proc-macro-error", "proc-macro-error",
"proc-macro2", "proc-macro2",
"quick-xml 0.30.0", "quick-xml",
"quote", "quote",
"syn 1.0.109", "syn 1.0.109",
] ]
[[package]] [[package]]
name = "gtk4-sys" name = "gtk4-sys"
version = "0.7.3" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8" checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
dependencies = [ dependencies = [
"cairo-sys-rs", "cairo-sys-rs",
"gdk-pixbuf-sys", "gdk-pixbuf-sys",
@ -1215,7 +1232,7 @@ checksum = "0bb9136c388a1e7b3017d18fe7c2f263b0a2b13f215c48e8eb44935d413ce0f9"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"flate2", "flate2",
"quick-xml 0.31.0", "quick-xml",
"safe-transmute", "safe-transmute",
"serde", "serde",
"serde_json", "serde_json",
@ -1237,9 +1254,9 @@ dependencies = [
[[package]] [[package]]
name = "gweather-sys" name = "gweather-sys"
version = "4.3.1" version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23fda9a22818e9c023aa5fb09d7df984c046532bf0136e7ee52f11febb4824a6" checksum = "dde1d5eedb5b83ca0a2345c29655b72ea4ea8922ea54e52a75fe60366fd8428b"
dependencies = [ dependencies = [
"gio-sys", "gio-sys",
"glib-sys", "glib-sys",
@ -1262,9 +1279,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]] [[package]]
name = "hermit-abi" name = "hermit-abi"
version = "0.3.4" version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
[[package]] [[package]]
name = "hex" name = "hex"
@ -1290,9 +1307,9 @@ dependencies = [
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.2.1" version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b" checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown", "hashbrown",
@ -1326,9 +1343,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]] [[package]]
name = "jobserver" name = "jobserver"
version = "0.1.27" version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -1373,9 +1390,9 @@ dependencies = [
[[package]] [[package]]
name = "libadwaita" name = "libadwaita"
version = "0.5.3" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c" checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9"
dependencies = [ dependencies = [
"gdk-pixbuf", "gdk-pixbuf",
"gdk4", "gdk4",
@ -1389,9 +1406,9 @@ dependencies = [
[[package]] [[package]]
name = "libadwaita-sys" name = "libadwaita-sys"
version = "0.5.3" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a" checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8"
dependencies = [ dependencies = [
"gdk4-sys", "gdk4-sys",
"gio-sys", "gio-sys",
@ -1405,15 +1422,15 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.152" version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]] [[package]]
name = "libgweather" name = "libgweather"
version = "4.3.1" version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b77923d651d79939ebbd6bcbb7086d2cba1db93c325e93e0b1d3fe56f66ea5c" checksum = "2cb8f774df868ceca45c30e19945b5895d599ed1ed33b28092eec9f38d4e3ba3"
dependencies = [ dependencies = [
"gio", "gio",
"glib", "glib",
@ -1421,6 +1438,24 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "libseccomp"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21c57fd8981a80019807b7b68118618d29a87177c63d704fc96e6ecd003ae5b3"
dependencies = [
"bitflags 1.3.2",
"libc",
"libseccomp-sys",
"pkg-config",
]
[[package]]
name = "libseccomp-sys"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a7cbbd4ad467251987c6e5b47d53b11a5a05add08f2447a9e2d70aef1e0d138"
[[package]] [[package]]
name = "linux-raw-sys" name = "linux-raw-sys"
version = "0.3.8" version = "0.3.8"
@ -1508,7 +1543,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
dependencies = [ dependencies = [
"rustix 0.38.30", "rustix 0.38.31",
] ]
[[package]] [[package]]
@ -1540,9 +1575,9 @@ dependencies = [
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.7.1" version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
dependencies = [ dependencies = [
"adler", "adler",
] ]
@ -1632,22 +1667,21 @@ dependencies = [
[[package]] [[package]]
name = "pango" name = "pango"
version = "0.18.3" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" checksum = "78d7f779b957728c74fd1a060dfa6d89a0bea792ebc50cc2da80e4e87282d69e"
dependencies = [ dependencies = [
"gio", "gio",
"glib", "glib",
"libc", "libc",
"once_cell",
"pango-sys", "pango-sys",
] ]
[[package]] [[package]]
name = "pango-sys" name = "pango-sys"
version = "0.18.0" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -1714,14 +1748,14 @@ dependencies = [
[[package]] [[package]]
name = "polling" name = "polling"
version = "3.3.2" version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"concurrent-queue", "concurrent-queue",
"pin-project-lite", "pin-project-lite",
"rustix 0.38.30", "rustix 0.38.31",
"tracing", "tracing",
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
@ -1744,12 +1778,11 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro-crate" name = "proc-macro-crate"
version = "2.0.2" version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
dependencies = [ dependencies = [
"toml_datetime", "toml_edit 0.21.1",
"toml_edit 0.20.2",
] ]
[[package]] [[package]]
@ -1785,15 +1818,6 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "quick-xml"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "quick-xml" name = "quick-xml"
version = "0.31.0" version = "0.31.0"
@ -1843,15 +1867,6 @@ dependencies = [
"getrandom", "getrandom",
] ]
[[package]]
name = "redox_syscall"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
"bitflags 1.3.2",
]
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.10.3" version = "1.10.3"
@ -1921,9 +1936,9 @@ dependencies = [
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.38.30" version = "0.38.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"errno", "errno",
@ -2110,14 +2125,13 @@ checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
[[package]] [[package]]
name = "tempfile" name = "tempfile"
version = "3.9.0" version = "3.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"fastrand 2.0.1", "fastrand 2.0.1",
"redox_syscall", "rustix 0.38.31",
"rustix 0.38.30",
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
@ -2158,21 +2172,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.8.2" version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
dependencies = [ dependencies = [
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
"toml_edit 0.20.2", "toml_edit 0.22.4",
] ]
[[package]] [[package]]
name = "toml_datetime" name = "toml_datetime"
version = "0.6.3" version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@ -2190,9 +2204,20 @@ dependencies = [
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.20.2" version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
dependencies = [
"indexmap",
"toml_datetime",
"winnow",
]
[[package]]
name = "toml_edit"
version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"serde", "serde",
@ -2487,28 +2512,28 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.5.35" version = "0.5.39"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d" checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
[[package]] [[package]]
name = "xdg-home" name = "xdg-home"
version = "1.0.0" version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
dependencies = [ dependencies = [
"nix 0.26.4", "libc",
"winapi", "winapi",
] ]
[[package]] [[package]]
name = "zbus" name = "zbus"
version = "3.14.1" version = "3.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
dependencies = [ dependencies = [
"async-broadcast", "async-broadcast",
"async-executor", "async-executor",
@ -2547,9 +2572,9 @@ dependencies = [
[[package]] [[package]]
name = "zbus_macros" name = "zbus_macros"
version = "3.14.1" version = "3.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
dependencies = [ dependencies = [
"proc-macro-crate 1.3.1", "proc-macro-crate 1.3.1",
"proc-macro2", "proc-macro2",

View file

@ -19,32 +19,32 @@ async-channel = "2.1.0"
env_logger = "0.11.0" env_logger = "0.11.0"
futures-channel = "0.3.25" futures-channel = "0.3.25"
futures-lite = "2.1.0" futures-lite = "2.1.0"
glycin = "1.0.0-alpha.5" glycin = "1.0.0-alpha.6"
gvdb-macros = "0.1.6" gvdb-macros = "0.1.6"
indexmap = "2.0.0" indexmap = "2.0.0"
kamadak-exif = "0.5.5" kamadak-exif = "0.5.5"
libgweather = "4.3.0" libgweather = "4.4.0"
log = "0.4.17" log = "0.4.17"
once_cell = "1.16.0" once_cell = "1.16.0"
url = "2.3.1" url = "2.3.1"
[dependencies.ashpd] [dependencies.ashpd]
version = "0.6.0" version = "0.7.0"
features = ["gtk4"] features = ["gtk4"]
[dependencies.gtk] [dependencies.gtk]
package = "gtk4" package = "gtk4"
version = "0.7.1" version = "0.8.0"
features = ["v4_12", "xml_validation"] features = ["v4_12", "xml_validation"]
[dependencies.gio] [dependencies.gio]
package = "gio" package = "gio"
version = "0.18.1" version = "0.19.0"
features = ["v2_74"] features = ["v2_74"]
[dependencies.adw] [dependencies.adw]
package = "libadwaita" package = "libadwaita"
version = "0.5.2" version = "0.6.0"
features = ["v1_4"] features = ["v1_4"]
[dependencies.gettext-rs] [dependencies.gettext-rs]

View file

@ -27,7 +27,7 @@ use crate::deps::*;
mod imp { mod imp {
use adw::subclass::prelude::*; use adw::subclass::prelude::*;
use glib::{ParamSpec, Properties, Value}; use glib::{ParamSpec, Properties, Value};
use once_cell::sync::OnceCell; use std::cell::OnceCell;
use super::*; use super::*;

View file

@ -296,7 +296,7 @@ mod imp {
); );
obj.connect_realize(glib::clone!(@weak surface_signals => move |obj| { obj.connect_realize(glib::clone!(@weak surface_signals => move |obj| {
surface_signals.set_target(obj.native().map(|x| x.surface()).as_ref()); surface_signals.set_target(obj.native().and_then(|x| x.surface()).as_ref());
})); }));
obj.connect_unrealize(glib::clone!(@weak surface_signals => move |_| { obj.connect_unrealize(glib::clone!(@weak surface_signals => move |_| {

View file

@ -85,10 +85,7 @@ impl imp::LpImage {
let node = snapshot.to_node()?; let node = snapshot.to_node()?;
let renderer = obj.root()?.renderer(); let renderer = obj.root()?.renderer()?;
if !renderer.is_realized() {
return None;
}
// Render the small version of the image and download to RAM // Render the small version of the image and download to RAM
let texture = renderer.render_texture(node, None); let texture = renderer.render_texture(node, None);

View file

@ -82,7 +82,7 @@ impl imp::LpImage {
(f64::exp(-y * f64::ln(ZOOM_FACTOR_SCROLL_SURFACE)), false) (f64::exp(-y * f64::ln(ZOOM_FACTOR_SCROLL_SURFACE)), false)
} }
unknown_unit => { unknown_unit => {
log::warn!("Ignoring unknown scroll unit: {unknown_unit}"); log::warn!("Ignoring unknown scroll unit: {unknown_unit:?}");
(1., false) (1., false)
} }
}; };

View file

@ -42,7 +42,7 @@ impl LpImage {
.add_to_snapshot(&snapshot, scale, &render_options); .add_to_snapshot(&snapshot, scale, &render_options);
let node = snapshot.to_node()?; let node = snapshot.to_node()?;
let renderer = self.root()?.renderer(); let renderer = self.root()?.renderer()?;
Some(renderer.render_texture(&node, None)) Some(renderer.render_texture(&node, None))
} }

View file

@ -299,13 +299,10 @@ impl imp::LpImage {
let obj = self.obj(); let obj = self.obj();
// TODO: This avoids panics and should be fixed upstream // TODO: This avoids panics and should be fixed upstream
if obj.is_realized() { obj.native()
obj.native() .and_then(|x| x.surface())
.map(|x| x.surface().scale()) .map(|x| x.scale())
.unwrap_or_else(|| obj.scale_factor() as f64) .unwrap_or_else(|| obj.scale_factor() as f64)
} else {
1.
}
} }
/// Monitor size in physical pixels /// Monitor size in physical pixels
@ -313,8 +310,8 @@ impl imp::LpImage {
let obj = self.obj(); let obj = self.obj();
if let Some(display) = gdk::Display::default() { if let Some(display) = gdk::Display::default() {
if let Some(native) = obj.native() { if let Some(surface) = obj.native().and_then(|x| x.surface()) {
if let Some(monitor) = display.monitor_at_surface(&native.surface()) { if let Some(monitor) = display.monitor_at_surface(&surface) {
let hidpi_scale = self.scaling(); let hidpi_scale = self.scaling();
let monitor_geometry = monitor.geometry(); let monitor_geometry = monitor.geometry();
let monitor_size = ( let monitor_size = (

View file

@ -140,4 +140,12 @@ impl LpImage {
pub fn is_vscrollable(&self) -> bool { pub fn is_vscrollable(&self) -> bool {
self.imp().max_vadjustment_value() != 0. self.imp().max_vadjustment_value() != 0.
} }
pub fn hadjustment(&self) -> gtk::Adjustment {
todo!()
}
pub fn vadjustment(&self) -> gtk::Adjustment {
todo!()
}
} }

View file

@ -18,14 +18,13 @@
//! The print layout widget that also coordinates the print process //! The print layout widget that also coordinates the print process
use std::cell::{Cell, RefCell}; use std::cell::{Cell, OnceCell, RefCell};
use std::rc::Rc; use std::rc::Rc;
use adw::prelude::*; use adw::prelude::*;
use adw::subclass::prelude::*; use adw::subclass::prelude::*;
use glib::Properties; use glib::Properties;
use gtk::CompositeTemplate; use gtk::CompositeTemplate;
use once_cell::sync::OnceCell;
use crate::decoder::{self}; use crate::decoder::{self};
use crate::deps::*; use crate::deps::*;

View file

@ -52,6 +52,8 @@ const HIDE_CONTROLS_ANIMATION_DURATION: u32 = 1000;
const HIDE_CONTROLS_IDLE_TIMEOUT: u64 = 3000; const HIDE_CONTROLS_IDLE_TIMEOUT: u64 = 3000;
mod imp { mod imp {
use gio::glib::VariantTy;
use super::*; use super::*;
// To use composite templates, you need // To use composite templates, you need
@ -125,20 +127,15 @@ mod imp {
// CompositeTemplate macro to bind all children at once. // CompositeTemplate macro to bind all children at once.
Self::bind_template(klass); Self::bind_template(klass);
klass.add_binding( klass.add_binding(gdk::Key::c, gdk::ModifierType::CONTROL_MASK, |window| {
gdk::Key::c, if window.has_metadata_selected() {
gdk::ModifierType::CONTROL_MASK, // Pass on to normal copy handler to copy selected metadata
|window, _| { glib::Propagation::Proceed
if window.has_metadata_selected() { } else {
// Pass on to normal copy handler to copy selected metadata window.copy_image();
false glib::Propagation::Stop
} else { }
window.copy_image(); });
true
}
},
None,
);
// Set up actions // Set up actions
klass.install_action("win.toggle-fullscreen", None, move |win, _, _| { klass.install_action("win.toggle-fullscreen", None, move |win, _, _| {
@ -209,9 +206,13 @@ mod imp {
win.zoom_in_center(); win.zoom_in_center();
}); });
klass.install_action("win.zoom-to-exact", Some("d"), move |win, _, level| { klass.install_action(
win.zoom_to_exact(level.unwrap().get().unwrap()); "win.zoom-to-exact",
}); Some(&VariantTy::new("d").unwrap()),
move |win, _, level| {
win.zoom_to_exact(level.unwrap().get().unwrap());
},
);
klass.install_action("win.zoom-best-fit", None, move |win, _, _| { klass.install_action("win.zoom-best-fit", None, move |win, _, _| {
win.zoom_best_fit(); win.zoom_best_fit();
@ -275,11 +276,15 @@ mod imp {
win.trash().await; win.trash().await;
}); });
klass.install_action("win.show-toast", Some("(si)"), move |win, _, var| { klass.install_action(
if let Some((ref toast, i)) = var.and_then(|v| v.get::<(String, i32)>()) { "win.show-toast",
win.show_toast(toast, adw::ToastPriority::__Unknown(i)); Some(VariantTy::new("(si)").unwrap()),
} move |win, _, var| {
}); if let Some((ref toast, i)) = var.and_then(|v| v.get::<(String, i32)>()) {
win.show_toast(toast, adw::ToastPriority::__Unknown(i));
}
},
);
} }
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) { fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {