mirror of
https://gitlab.gnome.org/World/Authenticator.git
synced 2025-03-04 08:44:40 +01:00
update per latest gtk-rs changes
This commit is contained in:
parent
9d82a33c80
commit
c7b5ca9718
23 changed files with 264 additions and 271 deletions
273
Cargo.lock
generated
273
Cargo.lock
generated
|
@ -77,14 +77,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.35"
|
||||
version = "1.0.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2c0df63cb2955042487fad3aefd2c6e3ae7389ac5dc1beb28921de0b69f779d4"
|
||||
checksum = "ee67c11feeac938fae061b232e38e0b6d94f97a9df10e6271319325ac4c56a86"
|
||||
|
||||
[[package]]
|
||||
name = "ashpd"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/bilelmoussaoui/ashpd#50dadd3782c4193a3956780bb30d56fffdf257ee"
|
||||
source = "git+https://github.com/bilelmoussaoui/ashpd#d7ec2103565301b8476d6706ef34090e197b021c"
|
||||
dependencies = [
|
||||
"enumflags2",
|
||||
"gdk4",
|
||||
|
@ -189,7 +189,7 @@ dependencies = [
|
|||
"memchr",
|
||||
"num_cpus",
|
||||
"once_cell",
|
||||
"pin-project-lite 0.2.0",
|
||||
"pin-project-lite 0.2.3",
|
||||
"pin-utils",
|
||||
"slab",
|
||||
"wasm-bindgen-futures",
|
||||
|
@ -352,9 +352,9 @@ checksum = "41aa2ec95ca3b5c54cf73c91acf06d24f4495d5f1b1c12506ae3483d646177ac"
|
|||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.3.4"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
|
||||
checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
|
@ -362,6 +362,12 @@ version = "0.5.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad1f8e949d755f9d79112b5bb46938e0ef9d3804a0b16dfab13aafcaa5f0fa72"
|
||||
|
||||
[[package]]
|
||||
name = "cache-padded"
|
||||
version = "1.1.1"
|
||||
|
@ -371,7 +377,7 @@ checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba"
|
|||
[[package]]
|
||||
name = "cairo-rs"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-sys-rs",
|
||||
|
@ -384,7 +390,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cairo-sys-rs"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
|
@ -450,9 +456,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "const_fn"
|
||||
version = "0.4.4"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cd51eab21ab4fd6a3bf889e2d0958c0a6e3a61ad04260325e919e652a2a62826"
|
||||
checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"
|
||||
|
||||
[[package]]
|
||||
name = "cookie"
|
||||
|
@ -615,9 +621,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "derivative"
|
||||
version = "2.1.1"
|
||||
version = "2.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f"
|
||||
checksum = "eaed5874effa6cde088c644ddcdcb4ffd1511391c5be4fdd7a5ccd02c7e4a183"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -824,9 +830,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "futures"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b3b0c040a1fe6529d30b3c5944b280c7f0dcb2930d2c3062bca967b602583d0"
|
||||
checksum = "c70be434c505aee38639abccb918163b63158a4b4bb791b45b7023044bdc3c9c"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
|
@ -839,9 +845,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b7109687aa4e177ef6fe84553af6280ef2778bdb7783ba44c9dc3399110fe64"
|
||||
checksum = "f01c61843314e95f96cc9245702248733a3a3d744e43e2e755e3c7af8348a0a9"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
|
@ -849,15 +855,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748"
|
||||
checksum = "db8d3b0917ff63a2a96173133c02818fac4a746b0a57569d3baca9ec0e945e08"
|
||||
|
||||
[[package]]
|
||||
name = "futures-executor"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4caa2b2b68b880003057c1dd49f1ed937e38f22fcf6c212188a121f08cf40a65"
|
||||
checksum = "9ee9ca2f7eb4475772cf39dd1cd06208dce2670ad38f4d9c7262b3e15f127068"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
|
@ -866,9 +872,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "futures-io"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "611834ce18aaa1bd13c4b374f5d653e1027cf99b6b502584ff8c9a64413b30bb"
|
||||
checksum = "e37c1a51b037b80922864b8eed90692c5cd8abd4c71ce49b77146caa47f3253b"
|
||||
|
||||
[[package]]
|
||||
name = "futures-lite"
|
||||
|
@ -881,15 +887,15 @@ dependencies = [
|
|||
"futures-io",
|
||||
"memchr",
|
||||
"parking",
|
||||
"pin-project-lite 0.2.0",
|
||||
"pin-project-lite 0.2.3",
|
||||
"waker-fn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-macro"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556"
|
||||
checksum = "0f8719ca0e1f3c5e34f3efe4570ef2c0610ca6da85ae7990d472e9cbfba13664"
|
||||
dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
|
@ -899,24 +905,24 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "futures-sink"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f878195a49cee50e006b02b93cf7e0a95a38ac7b776b4c4d9cc1207cd20fcb3d"
|
||||
checksum = "f6adabac1290109cfa089f79192fb6244ad2c3f1cc2281f3e1dd987592b71feb"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d"
|
||||
checksum = "a92a0843a2ff66823a8f7c77bffe9a09be2b64e533562c412d63075643ec0038"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2"
|
||||
checksum = "036a2107cdeb57f6d7322f1b6c363dad67cd63ca3b7d1b925bdf75bd5d96cda9"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
|
@ -925,7 +931,7 @@ dependencies = [
|
|||
"futures-sink",
|
||||
"futures-task",
|
||||
"memchr",
|
||||
"pin-project 1.0.2",
|
||||
"pin-project-lite 0.2.3",
|
||||
"pin-utils",
|
||||
"proc-macro-hack",
|
||||
"proc-macro-nested",
|
||||
|
@ -935,7 +941,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk-pixbuf"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"gdk-pixbuf-sys",
|
||||
"gio",
|
||||
|
@ -946,7 +952,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk-pixbuf-sys"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
|
@ -958,7 +964,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk4"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-rs",
|
||||
|
@ -973,7 +979,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk4-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"cairo-sys-rs",
|
||||
"gdk-pixbuf-sys",
|
||||
|
@ -988,7 +994,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk4-wayland"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"gdk4",
|
||||
"gdk4-wayland-sys",
|
||||
|
@ -1001,7 +1007,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk4-wayland-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
|
@ -1011,7 +1017,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk4-x11"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"gdk4",
|
||||
"gdk4-x11-sys",
|
||||
|
@ -1024,7 +1030,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gdk4-x11-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"gdk4-sys",
|
||||
"glib-sys",
|
||||
|
@ -1045,11 +1051,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.1.15"
|
||||
version = "0.1.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
|
||||
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
|
||||
dependencies = [
|
||||
"cfg-if 0.1.10",
|
||||
"cfg-if 1.0.0",
|
||||
"libc",
|
||||
"wasi",
|
||||
]
|
||||
|
@ -1075,10 +1081,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "ghash"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d6e27f0689a6e15944bdce7e45425efb87eaa8ab0c6e87f11d0987a9133e2531"
|
||||
checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"
|
||||
dependencies = [
|
||||
"opaque-debug",
|
||||
"polyval",
|
||||
]
|
||||
|
||||
|
@ -1095,14 +1102,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gio"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"futures",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-util",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"libc",
|
||||
|
@ -1113,7 +1118,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gio-sys"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
|
@ -1125,14 +1130,13 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "glib"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-executor",
|
||||
"futures-task",
|
||||
"futures-util",
|
||||
"glib-macros",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
|
@ -1144,7 +1148,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "glib-macros"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"heck",
|
||||
|
@ -1159,7 +1163,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "glib-sys"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"system-deps",
|
||||
|
@ -1181,7 +1185,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gobject-sys"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
|
@ -1191,7 +1195,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "graphene-rs"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"glib",
|
||||
"graphene-sys",
|
||||
|
@ -1201,7 +1205,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "graphene-sys"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
|
@ -1212,7 +1216,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gsk4"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-rs",
|
||||
|
@ -1227,7 +1231,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gsk4-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"cairo-sys-rs",
|
||||
"gdk4-sys",
|
||||
|
@ -1248,7 +1252,7 @@ checksum = "1874c48e670519ce192093ac906c08a6dde7cb2d18b28722ef237726a39c3a63"
|
|||
[[package]]
|
||||
name = "gtk4"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-rs",
|
||||
|
@ -1269,7 +1273,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gtk4-macros"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"heck",
|
||||
|
@ -1284,7 +1288,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gtk4-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#d393f59dbf97518add962d250de9e3b69339f251"
|
||||
source = "git+https://github.com/gtk-rs/gtk4-rs#397e7f9d6ea62b325e9e707dc76cd602a00e006e"
|
||||
dependencies = [
|
||||
"cairo-sys-rs",
|
||||
"gdk-pixbuf-sys",
|
||||
|
@ -1301,9 +1305,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
|
||||
checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"
|
||||
dependencies = [
|
||||
"unicode-segmentation",
|
||||
]
|
||||
|
@ -1345,11 +1349,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "0.2.2"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "84129d298a6d57d246960ff8eb831ca4af3f96d29e2e28848dae275408658e26"
|
||||
checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"bytes 1.0.0",
|
||||
"fnv",
|
||||
"itoa",
|
||||
]
|
||||
|
@ -1449,7 +1453,7 @@ version = "0.9.14"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2948a0ce43e2c2ef11d7edf6816508998d99e13badd1150be0914205df9388a"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"bytes 0.5.6",
|
||||
"crossbeam-utils",
|
||||
"curl",
|
||||
"curl-sys",
|
||||
|
@ -1477,9 +1481,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "0.4.6"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
|
||||
checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
||||
|
||||
[[package]]
|
||||
name = "jpeg-decoder"
|
||||
|
@ -1517,14 +1521,14 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.81"
|
||||
version = "0.2.82"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb"
|
||||
checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929"
|
||||
|
||||
[[package]]
|
||||
name = "libhandy4"
|
||||
version = "0.1.0"
|
||||
source = "git+https://gitlab.gnome.org/bilelmoussaoui/libhandy4-rs#511b3e4a398aacb9ffa30ccff9926955e135b7bc"
|
||||
source = "git+https://gitlab.gnome.org/bilelmoussaoui/libhandy4-rs#ea059551d1e0c2f77a483f37ad83eb5b358d4c5d"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"gdk-pixbuf",
|
||||
|
@ -1541,7 +1545,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "libhandy4-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://gitlab.gnome.org/bilelmoussaoui/libhandy4-rs#511b3e4a398aacb9ffa30ccff9926955e135b7bc"
|
||||
source = "git+https://gitlab.gnome.org/bilelmoussaoui/libhandy4-rs#ea059551d1e0c2f77a483f37ad83eb5b358d4c5d"
|
||||
dependencies = [
|
||||
"gdk-pixbuf-sys",
|
||||
"gdk4-sys",
|
||||
|
@ -1892,9 +1896,9 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
|
|||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.59"
|
||||
version = "0.9.60"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "de52d8eabd217311538a39bba130d7dea1f1e118010fee7a033d966845e7d5fe"
|
||||
checksum = "921fc71883267538946025deffb622905ecad223c28efbfdef9bb59a0175f3e6"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cc",
|
||||
|
@ -1906,7 +1910,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "pango"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"glib",
|
||||
|
@ -1918,7 +1922,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "pango-sys"
|
||||
version = "0.13.0"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#f9714995940f334a712f5bfcccd558f600007e9f"
|
||||
source = "git+https://github.com/gtk-rs/gtk-rs#0fc0f84f0e237689b8c051249539a0214c6f3d53"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
|
@ -1945,9 +1949,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "parking_lot_core"
|
||||
version = "0.8.1"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d7c6d9b8427445284a09c55be860a15855ab580a417ccad9da88f5a06787ced0"
|
||||
checksum = "9ccb628cad4f84851442432c60ad8e1f607e29752d0bf072cbd0baf28aa34272"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"instant",
|
||||
|
@ -1969,16 +1973,7 @@ version = "0.4.27"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2ffbc8e94b38ea3d2d8ba92aea2983b503cd75d0888d75b86bb37970b5698e15"
|
||||
dependencies = [
|
||||
"pin-project-internal 0.4.27",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7"
|
||||
dependencies = [
|
||||
"pin-project-internal 1.0.2",
|
||||
"pin-project-internal",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1992,17 +1987,6 @@ dependencies = [
|
|||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-internal"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8e8d2bf0b23038a4424865103a4df472855692821aab4e4f5c3312d461d9e5f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.1.11"
|
||||
|
@ -2011,9 +1995,9 @@ checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b"
|
|||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.0"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b063f57ec186e6140e2b8b6921e5f1bd89c7356dda5b33acc5401203ca6131c"
|
||||
checksum = "ba36e0a6cc5a4c645073f4984f1ed55d09f5857d4de7c14550baa81a39ef5a17"
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
|
@ -2054,11 +2038,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "polyval"
|
||||
version = "0.4.3"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4fd92d8e0c06d08525d2e2643cc2b5c80c69ae8eb12c18272d501cd7079ccc0"
|
||||
checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd"
|
||||
dependencies = [
|
||||
"cpuid-bool 0.2.0",
|
||||
"opaque-debug",
|
||||
"universal-hash",
|
||||
]
|
||||
|
||||
|
@ -2159,9 +2144,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.7"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
|
||||
checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
@ -2251,9 +2236,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
|
|||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.4.2"
|
||||
version = "1.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"
|
||||
checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
|
@ -2263,9 +2248,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.21"
|
||||
version = "0.6.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
|
||||
checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581"
|
||||
|
||||
[[package]]
|
||||
name = "ring"
|
||||
|
@ -2387,9 +2372,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.60"
|
||||
version = "1.0.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1500e84d27fe482ed1dc791a56eddc2f230046a040fa908c08bda1d9fb615779"
|
||||
checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
|
@ -2469,15 +2454,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.5.1"
|
||||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae524f056d7d770e174287294f562e95044c68e88dec909a00d2094805db9d75"
|
||||
checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.3.18"
|
||||
version = "0.3.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97e0e9fd577458a4f61fb91fcb559ea2afecc54c934119421f9f5d3d5b1a1057"
|
||||
checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"libc",
|
||||
|
@ -2501,9 +2486,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "standback"
|
||||
version = "0.2.13"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf906c8b8fc3f6ecd1046e01da1d8ddec83e48c8b08b84dcc02b585a6bedf5a8"
|
||||
checksum = "c66a8cff4fa24853fdf6b51f75c6d7f8206d7c75cab4e467bcd7f25c2b1febe0"
|
||||
dependencies = [
|
||||
"version_check",
|
||||
]
|
||||
|
@ -2605,9 +2590,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.54"
|
||||
version = "1.0.58"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a2af957a63d6bd42255c359c93d9bfdb97076bd3b820897ce55ffbfbf107f44"
|
||||
checksum = "cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -2640,18 +2625,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.22"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e9ae34b84616eedaaf1e9dd6026dbe00dcafa92aa0c8077cb69df1fcfe5e53e"
|
||||
checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.22"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ba20f23e85b10754cd195504aebf6a27e2e6cbe28c17778a0c930724628dd56"
|
||||
checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -2660,9 +2645,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "thread_local"
|
||||
version = "1.0.1"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
|
||||
checksum = "bb9bc092d0d51e76b2b19d9d85534ffc9ec2db959a2523cdae0697e2972cd447"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
]
|
||||
|
@ -2680,9 +2665,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.2.23"
|
||||
version = "0.2.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bcdaeea317915d59b2b4cd3b5efcd156c309108664277793f5351700c02ce98b"
|
||||
checksum = "273d3ed44dca264b0d6b3665e8d48fb515042d42466fad93d2a45b90ec4058f7"
|
||||
dependencies = [
|
||||
"const_fn",
|
||||
"libc",
|
||||
|
@ -2748,7 +2733,7 @@ checksum = "9f47026cdc4080c07e49b37087de021820269d996f581aac150ef9e5583eefe3"
|
|||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"log",
|
||||
"pin-project-lite 0.2.0",
|
||||
"pin-project-lite 0.2.3",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
@ -2779,7 +2764,7 @@ version = "0.2.4"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c"
|
||||
dependencies = [
|
||||
"pin-project 0.4.27",
|
||||
"pin-project",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
|
@ -2967,9 +2952,9 @@ checksum = "7e7811dd7f9398f14cc76efd356f98f03aa30419dea46aa810d71e819fc97158"
|
|||
|
||||
[[package]]
|
||||
name = "wayland-client"
|
||||
version = "0.28.2"
|
||||
version = "0.28.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "222b227f47871e47d657c1c5e5360b4af9a877aa9c892716787be1c192c78c42"
|
||||
checksum = "bdbdbe01d03b2267809f3ed99495b37395387fde789e0f2ebb78e8b43f75b6d7"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"downcast-rs",
|
||||
|
@ -2983,9 +2968,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wayland-commons"
|
||||
version = "0.28.2"
|
||||
version = "0.28.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "230b3ffeda101f877ff8ecb8573f5d26e7beb345b197807c4df34ec06879a3e6"
|
||||
checksum = "480450f76717edd64ad04a4426280d737fc3d10a236b982df7b1aee19f0e2d56"
|
||||
dependencies = [
|
||||
"nix 0.18.0",
|
||||
"once_cell",
|
||||
|
@ -2995,9 +2980,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wayland-scanner"
|
||||
version = "0.28.2"
|
||||
version = "0.28.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5ee5bd43a1d746efc486515fec561e47205f328b74802b959f10f5500f7e56cc"
|
||||
checksum = "7010ba5767b3fcd350decc59055390b4ebe6bd1b9279a9feb1f1888987f1133d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -3006,9 +2991,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wayland-sys"
|
||||
version = "0.28.2"
|
||||
version = "0.28.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0814adbecc7ea97869971e1d1c1b657e31863dda6fd768f119ad3dc408a01e58"
|
||||
checksum = "6793834e0c35d11fd96a97297abe03d37be627e1847da52e17d7e0e3b51cc099"
|
||||
dependencies = [
|
||||
"dlib",
|
||||
"pkg-config",
|
||||
|
@ -3099,16 +3084,20 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zbus"
|
||||
version = "1.3.0"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2f1803d7af14e3cddc5c1511b05af4bda27f89d8387e5e1aa3a7b918639cb18"
|
||||
checksum = "40b4d4aa39daed4e32aed75f0c37b969184949a0fdfd5f2e1277abfda61f02a8"
|
||||
dependencies = [
|
||||
"async-io",
|
||||
"byteorder",
|
||||
"derivative",
|
||||
"enumflags2",
|
||||
"fastrand",
|
||||
"futures",
|
||||
"nb-connect",
|
||||
"nix 0.17.0",
|
||||
"once_cell",
|
||||
"polling",
|
||||
"scoped-tls",
|
||||
"serde",
|
||||
"serde_repr",
|
||||
|
@ -3118,9 +3107,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zbus_macros"
|
||||
version = "1.3.0"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03273fa8aec65ed1be7026f58f92b90ecea09e622103718e9300591e21e24711"
|
||||
checksum = "87cc141cda72384bef359badf1808e391d3968f9299e8f3c3cbb78dafa1e0930"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
|
|
|
@ -5,16 +5,15 @@ use crate::{
|
|||
widgets::{PreferencesWindow, ProvidersDialog, Window},
|
||||
};
|
||||
use gettextrs::gettext;
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::clone;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*};
|
||||
use gtk_macros::{action, get_action};
|
||||
use std::env;
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::{subclass, subclass::prelude::*, WeakRef};
|
||||
use gtk::subclass::prelude::{ApplicationImpl, ApplicationImplExt, GtkApplicationImpl};
|
||||
use glib::{subclass, WeakRef};
|
||||
use std::cell::{Cell, RefCell};
|
||||
|
||||
pub struct Application {
|
||||
|
|
|
@ -35,7 +35,7 @@ impl Backupable for AndOTP {
|
|||
gettext("Into a plain-text JSON file")
|
||||
}
|
||||
|
||||
fn backup(model: ProvidersModel, into: gtk::gio::File) -> Result<()> {
|
||||
fn backup(model: &ProvidersModel, into: >k::gio::File) -> Result<()> {
|
||||
let mut items = Vec::new();
|
||||
|
||||
for i in 0..model.get_n_items() {
|
||||
|
@ -82,6 +82,8 @@ impl Backupable for AndOTP {
|
|||
}
|
||||
|
||||
impl Restorable for AndOTP {
|
||||
type Item = Self;
|
||||
|
||||
fn identifier() -> String {
|
||||
"andotp".to_string()
|
||||
}
|
||||
|
@ -94,30 +96,31 @@ impl Restorable for AndOTP {
|
|||
gettext("From a plain-text JSON file")
|
||||
}
|
||||
|
||||
fn restore(model: ProvidersModel, from: gtk::gio::File) -> Result<()> {
|
||||
fn restore(from: >k::gio::File) -> Result<Vec<Self::Item>> {
|
||||
let (data, _) = from.load_contents(gtk::gio::NONE_CANCELLABLE)?;
|
||||
|
||||
let items: Vec<AndOTP> = serde_json::de::from_slice(&data)?;
|
||||
items.iter().try_for_each(|item| -> anyhow::Result<()> {
|
||||
info!(
|
||||
"Restoring account: {} - {} from AndOTP",
|
||||
item.issuer, item.label
|
||||
);
|
||||
Ok(items)
|
||||
}
|
||||
|
||||
let provider = model.find_or_create(
|
||||
&item.issuer,
|
||||
item.period.unwrap_or(30),
|
||||
item.method,
|
||||
None,
|
||||
item.algorithm,
|
||||
item.digits,
|
||||
item.counter.unwrap_or(1),
|
||||
)?;
|
||||
fn restore_item(item: &Self::Item, model: &ProvidersModel) -> Result<()> {
|
||||
info!(
|
||||
"Restoring account: {} - {} from AndOTP",
|
||||
item.issuer, item.label
|
||||
);
|
||||
|
||||
let account = Account::create(&item.label, &item.secret, &provider)?;
|
||||
provider.add_account(&account);
|
||||
Ok(())
|
||||
});
|
||||
let provider = model.find_or_create(
|
||||
&item.issuer,
|
||||
item.period.unwrap_or(30),
|
||||
item.method,
|
||||
None,
|
||||
item.algorithm,
|
||||
item.digits,
|
||||
item.counter.unwrap_or(1),
|
||||
)?;
|
||||
|
||||
let account = Account::create(&item.label, &item.secret, &provider)?;
|
||||
provider.add_account(&account);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,8 @@ use serde::{Deserialize, Serialize};
|
|||
pub struct Bitwarden;
|
||||
|
||||
impl Restorable for Bitwarden {
|
||||
type Item = Self;
|
||||
|
||||
fn identifier() -> String {
|
||||
"bitwarden".to_string()
|
||||
}
|
||||
|
@ -20,7 +22,11 @@ impl Restorable for Bitwarden {
|
|||
gettext("From a plain-text JSON file")
|
||||
}
|
||||
|
||||
fn restore(model: ProvidersModel, from: gtk::gio::File) -> Result<()> {
|
||||
fn restore(from: >k::gio::File) -> Result<Vec<Self::Item>> {
|
||||
Ok(Vec::new())
|
||||
}
|
||||
|
||||
fn restore_item(item: &Self::Item, model: &ProvidersModel) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ impl Backupable for FreeOTP {
|
|||
gettext("Into a plain-text file, compatible with FreeOTP+")
|
||||
}
|
||||
|
||||
fn backup(model: ProvidersModel, into: gtk::gio::File) -> Result<()> {
|
||||
fn backup(model: &ProvidersModel, into: >k::gio::File) -> Result<()> {
|
||||
let mut items: Vec<String> = Vec::new();
|
||||
|
||||
for i in 0..model.get_n_items() {
|
||||
|
@ -55,6 +55,7 @@ impl Backupable for FreeOTP {
|
|||
}
|
||||
|
||||
impl Restorable for FreeOTP {
|
||||
type Item = OTPUri;
|
||||
fn identifier() -> String {
|
||||
"authenticator".to_string()
|
||||
}
|
||||
|
@ -67,30 +68,33 @@ impl Restorable for FreeOTP {
|
|||
gettext("From a plain-text file, compatible with FreeOTP+")
|
||||
}
|
||||
|
||||
fn restore(model: ProvidersModel, from: gtk::gio::File) -> Result<()> {
|
||||
fn restore(from: >k::gio::File) -> Result<Vec<Self::Item>> {
|
||||
let (data, _) = from.load_contents(gtk::gio::NONE_CANCELLABLE)?;
|
||||
let uris = String::from_utf8(data)?;
|
||||
|
||||
uris.split('\n')
|
||||
let items = uris
|
||||
.split('\n')
|
||||
.into_iter()
|
||||
.try_for_each(|uri| -> Result<()> {
|
||||
println!("{:#?}", uri);
|
||||
let otp_uri = OTPUri::from_str(uri)?;
|
||||
let provider = model.find_or_create(
|
||||
&otp_uri.issuer,
|
||||
otp_uri.period.unwrap_or(30),
|
||||
otp_uri.method,
|
||||
None,
|
||||
otp_uri.algorithm,
|
||||
otp_uri.digits.unwrap_or(6),
|
||||
otp_uri.counter.unwrap_or(1),
|
||||
)?;
|
||||
.map(|uri| OTPUri::from_str(uri))
|
||||
.filter(|uri| uri.is_ok())
|
||||
.map(|uri| uri.unwrap())
|
||||
.collect::<Vec<OTPUri>>();
|
||||
Ok(items)
|
||||
}
|
||||
|
||||
let account = Account::create(&otp_uri.label, &otp_uri.secret, &provider)?;
|
||||
provider.add_account(&account);
|
||||
fn restore_item(item: &Self::Item, model: &ProvidersModel) -> Result<()> {
|
||||
let provider = model.find_or_create(
|
||||
&item.issuer,
|
||||
item.period.unwrap_or(30),
|
||||
item.method,
|
||||
None,
|
||||
item.algorithm,
|
||||
item.digits.unwrap_or(6),
|
||||
item.counter.unwrap_or(1),
|
||||
)?;
|
||||
|
||||
Ok(())
|
||||
});
|
||||
let account = Account::create(&item.label, &item.secret, &provider)?;
|
||||
provider.add_account(&account);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@ pub struct LegacyAuthenticator {
|
|||
}
|
||||
|
||||
impl Restorable for LegacyAuthenticator {
|
||||
type Item = Self;
|
||||
|
||||
fn identifier() -> String {
|
||||
"authenticator_legacy".to_string()
|
||||
}
|
||||
|
@ -33,31 +35,30 @@ impl Restorable for LegacyAuthenticator {
|
|||
gettext("From a plain-text JSON file")
|
||||
}
|
||||
|
||||
fn restore(model: ProvidersModel, from: gtk::gio::File) -> Result<()> {
|
||||
fn restore(from: >k::gio::File) -> Result<Vec<Self::Item>> {
|
||||
let (data, _) = from.load_contents(gtk::gio::NONE_CANCELLABLE)?;
|
||||
|
||||
let items: Vec<LegacyAuthenticator> = serde_json::de::from_slice(&data)?;
|
||||
Ok(items)
|
||||
}
|
||||
|
||||
items.iter().try_for_each(|item| -> anyhow::Result<()> {
|
||||
let issuer = item.tags.get(0).unwrap();
|
||||
info!(
|
||||
"Restoring account: {} - {} from LegacyAuthenticator",
|
||||
issuer, item.label
|
||||
);
|
||||
fn restore_item(item: &Self::Item, model: &ProvidersModel) -> Result<()> {
|
||||
let issuer = item.tags.get(0).unwrap();
|
||||
info!(
|
||||
"Restoring account: {} - {} from LegacyAuthenticator",
|
||||
issuer, item.label
|
||||
);
|
||||
|
||||
let provider = model.find_or_create(
|
||||
&issuer,
|
||||
item.period,
|
||||
item.method,
|
||||
None,
|
||||
item.algorithm,
|
||||
item.digits,
|
||||
1,
|
||||
)?;
|
||||
let account = Account::create(&item.label, &item.secret, &provider)?;
|
||||
provider.add_account(&account);
|
||||
Ok(())
|
||||
})?;
|
||||
let provider = model.find_or_create(
|
||||
&issuer,
|
||||
item.period,
|
||||
item.method,
|
||||
None,
|
||||
item.algorithm,
|
||||
item.digits,
|
||||
1,
|
||||
)?;
|
||||
let account = Account::create(&item.label, &item.secret, &provider)?;
|
||||
provider.add_account(&account);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::fmt::Debug;
|
||||
|
||||
use crate::models::ProvidersModel;
|
||||
use anyhow::Result;
|
||||
|
||||
|
@ -7,20 +9,23 @@ pub enum Operation {
|
|||
Restore,
|
||||
}
|
||||
|
||||
pub trait Restorable {
|
||||
pub trait Restorable: Sized {
|
||||
type Item: Debug;
|
||||
|
||||
fn title() -> String;
|
||||
fn subtitle() -> String;
|
||||
// Used to define the `restore.$identifier` action
|
||||
fn identifier() -> String;
|
||||
fn restore(model: ProvidersModel, from: gtk::gio::File) -> Result<()>;
|
||||
fn restore(from: >k::gio::File) -> Result<Vec<Self::Item>>;
|
||||
fn restore_item(item: &Self::Item, model: &ProvidersModel) -> Result<()>;
|
||||
}
|
||||
|
||||
pub trait Backupable {
|
||||
pub trait Backupable: Sized {
|
||||
fn title() -> String;
|
||||
fn subtitle() -> String;
|
||||
// Used to define the `backup.$identifier` action
|
||||
fn identifier() -> String;
|
||||
fn backup(model: ProvidersModel, into: gtk::gio::File) -> Result<()>;
|
||||
fn backup(model: &ProvidersModel, into: >k::gio::File) -> Result<()>;
|
||||
}
|
||||
|
||||
mod andotp;
|
||||
|
|
|
@ -7,8 +7,9 @@ use anyhow::Result;
|
|||
use byteorder::{BigEndian, ReadBytesExt};
|
||||
use core::cmp::Ordering;
|
||||
use diesel::{BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||
use gio::{subclass::ObjectSubclass, FileExt};
|
||||
use glib::{clone, Cast, ObjectExt, StaticType, ToValue};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib};
|
||||
use once_cell::sync::OnceCell;
|
||||
use qrcode::QrCode;
|
||||
|
@ -42,7 +43,7 @@ pub struct DiAccount {
|
|||
#[doc(hidden)]
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass::{self, prelude::*};
|
||||
use glib::subclass;
|
||||
|
||||
static PROPERTIES: [subclass::Property; 6] = [
|
||||
subclass::Property("id", |name| {
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
use super::account::Account;
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::StaticType;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*};
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use gio::subclass::ListModelImpl;
|
||||
use glib::{subclass, subclass::prelude::*};
|
||||
use glib::subclass;
|
||||
use std::cell::RefCell;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
|
@ -8,8 +8,8 @@ use anyhow::Result;
|
|||
use async_std::prelude::*;
|
||||
use core::cmp::Ordering;
|
||||
use diesel::{ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::{Cast, StaticType, ToValue};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*};
|
||||
use std::{
|
||||
cell::{Cell, RefCell},
|
||||
|
@ -49,7 +49,7 @@ pub struct DiProvider {
|
|||
}
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass::{self, prelude::*};
|
||||
use glib::subclass;
|
||||
|
||||
static PROPERTIES: [subclass::Property; 11] = [
|
||||
subclass::Property("id", |name| {
|
||||
|
@ -480,13 +480,13 @@ impl Provider {
|
|||
|
||||
pub fn filter(&self, text: String) {
|
||||
let self_ = imp::Provider::from_instance(self);
|
||||
let filter = gtk::CustomFilter::new(Some(Box::new(move |obj| {
|
||||
let filter = gtk::CustomFilter::new(move |obj| {
|
||||
let account = obj.downcast_ref::<Account>().unwrap();
|
||||
account
|
||||
.name()
|
||||
.to_ascii_lowercase()
|
||||
.contains(&text.to_ascii_lowercase())
|
||||
})));
|
||||
});
|
||||
self_.filter_model.set_filter(Some(&filter));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
use super::{Account, Algorithm, OTPMethod, Provider};
|
||||
use anyhow::Result;
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::StaticType;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*};
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use gio::subclass::ListModelImpl;
|
||||
use glib::{subclass, subclass::prelude::*};
|
||||
use glib::subclass;
|
||||
use std::cell::RefCell;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
|
@ -4,8 +4,8 @@ use crate::{
|
|||
widgets::{ProviderImage, UrlRow},
|
||||
};
|
||||
use anyhow::Result;
|
||||
use gio::{subclass::ObjectSubclass, ActionMapExt};
|
||||
use glib::{clone, signal::Inhibit};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use gtk_macros::{action, get_action};
|
||||
use once_cell::sync::OnceCell;
|
||||
|
@ -13,7 +13,6 @@ use once_cell::sync::OnceCell;
|
|||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use std::cell::RefCell;
|
||||
|
||||
#[derive(CompositeTemplate)]
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
use crate::{models::Account, widgets::UrlRow};
|
||||
use gio::{subclass::ObjectSubclass, FileExt};
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{glib, prelude::*, CompositeTemplate};
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[derive(Debug, CompositeTemplate)]
|
||||
pub struct AccountDetailsPage {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use crate::models::Account;
|
||||
use gio::{subclass::ObjectSubclass, ActionMapExt};
|
||||
use glib::clone;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use gtk_macros::{action, get_action};
|
||||
use std::cell::RefCell;
|
||||
|
@ -8,7 +8,6 @@ use std::cell::RefCell;
|
|||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
static PROPERTIES: [subclass::Property; 1] = [subclass::Property("account", |name| {
|
||||
glib::ParamSpec::object(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use crate::{config, helpers::Keyring};
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::clone;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use gtk_macros::{action, get_action};
|
||||
use once_cell::sync::OnceCell;
|
||||
|
@ -10,7 +10,6 @@ mod imp {
|
|||
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
#[derive(CompositeTemplate)]
|
||||
pub struct PasswordPage {
|
||||
pub actions: OnceCell<gio::SimpleActionGroup>,
|
||||
|
|
|
@ -4,9 +4,10 @@ use crate::{
|
|||
config,
|
||||
models::ProvidersModel,
|
||||
};
|
||||
use anyhow::Result;
|
||||
use gettextrs::gettext;
|
||||
use gio::{subclass::ObjectSubclass, ActionMapExt};
|
||||
use glib::clone;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use libhandy::prelude::*;
|
||||
use once_cell::sync::OnceCell;
|
||||
|
@ -14,7 +15,6 @@ use once_cell::sync::OnceCell;
|
|||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use libhandy::subclass::{
|
||||
preferences_window::PreferencesWindowImpl, window::WindowImpl as HdyWindowImpl,
|
||||
};
|
||||
|
@ -156,7 +156,7 @@ impl PreferencesWindow {
|
|||
let dialog = win.select_file(filters, Operation::Backup);
|
||||
dialog.connect_response(clone!(@weak model, @weak win => move |d, response| {
|
||||
if response == gtk::ResponseType::Accept {
|
||||
T::backup(model, d.get_file().unwrap());
|
||||
T::backup(&model, &d.get_file().unwrap());
|
||||
}
|
||||
d.destroy();
|
||||
}));
|
||||
|
@ -177,16 +177,15 @@ impl PreferencesWindow {
|
|||
.action_name(&format!("restore.{}", T::identifier()))
|
||||
.build();
|
||||
|
||||
let model = self_.model.get().unwrap();
|
||||
gtk_macros::action!(
|
||||
self_.restore_actions,
|
||||
&T::identifier(),
|
||||
clone!(@weak self as win, @weak model => move |_, _| {
|
||||
clone!(@weak self as win => move |_, _| {
|
||||
let dialog = win.select_file(filters, Operation::Restore);
|
||||
dialog.connect_response(clone!(@weak model, @weak win => move |d, response| {
|
||||
dialog.connect_response(clone!(@weak win => move |d, response| {
|
||||
if response == gtk::ResponseType::Accept {
|
||||
T::restore(model, d.get_file().unwrap()).unwrap();
|
||||
win.emit("restore-completed", &[]).unwrap();
|
||||
let items: Vec<T::Item> = T::restore(&d.get_file().unwrap()).unwrap();
|
||||
//win.restore_items(items);
|
||||
}
|
||||
d.destroy();
|
||||
}));
|
||||
|
@ -196,6 +195,11 @@ impl PreferencesWindow {
|
|||
self_.restore_group.get().add(&row);
|
||||
}
|
||||
|
||||
fn restore_items<T: Restorable>(&self, items: Vec<T::Item>) -> Result<()> {
|
||||
println!("{:#?}", items);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn select_file(
|
||||
&self,
|
||||
filters: &'static [&str],
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
use super::{ProviderPage, ProviderPageMode};
|
||||
use crate::models::{Provider, ProviderSorter, ProvidersModel};
|
||||
use gio::{subclass::ObjectSubclass, ListModelExt};
|
||||
use glib::{clone, signal::Inhibit};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use row::ProviderActionRow;
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use libhandy::subclass::window::WindowImpl as HdyWindowImpl;
|
||||
|
||||
#[derive(CompositeTemplate)]
|
||||
|
@ -190,13 +189,13 @@ impl ProvidersDialog {
|
|||
fn search(&self, text: String) {
|
||||
let self_ = imp::ProvidersDialog::from_instance(self);
|
||||
|
||||
let providers_filter = gtk::CustomFilter::new(Some(Box::new(move |object| {
|
||||
let providers_filter = gtk::CustomFilter::new(move |object| {
|
||||
let provider = object.downcast_ref::<Provider>().unwrap();
|
||||
provider
|
||||
.name()
|
||||
.to_ascii_lowercase()
|
||||
.contains(&text.to_ascii_lowercase())
|
||||
})));
|
||||
});
|
||||
self_.filter_model.set_filter(Some(&providers_filter));
|
||||
}
|
||||
|
||||
|
@ -219,7 +218,6 @@ mod row {
|
|||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use std::cell::RefCell;
|
||||
|
||||
static PROPERTIES: [subclass::Property; 1] = [subclass::Property("provider", |name| {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use crate::models::Provider;
|
||||
use gio::{subclass::ObjectSubclass, FileExt};
|
||||
use glib::{clone, Receiver, Sender};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
|
||||
pub enum ImageAction {
|
||||
|
@ -11,7 +11,6 @@ pub enum ImageAction {
|
|||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use std::cell::{Cell, RefCell};
|
||||
|
||||
static PROPERTIES: [subclass::Property; 2] = [
|
||||
|
|
|
@ -3,14 +3,13 @@ use crate::{
|
|||
models::{Account, Provider, ProviderSorter, ProvidersModel},
|
||||
widgets::providers::ProviderRow,
|
||||
};
|
||||
use gio::{subclass::ObjectSubclass, ListModelExt};
|
||||
use glib::clone;
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[derive(Debug, CompositeTemplate)]
|
||||
pub struct ProvidersList {
|
||||
|
@ -75,10 +74,10 @@ impl ProvidersList {
|
|||
|
||||
pub fn set_model(&self, model: ProvidersModel) {
|
||||
let self_ = imp::ProvidersList::from_instance(self);
|
||||
let accounts_filter = gtk::CustomFilter::new(Some(Box::new(|object| {
|
||||
let accounts_filter = gtk::CustomFilter::new(move |object| {
|
||||
let provider = object.downcast_ref::<Provider>().unwrap();
|
||||
provider.has_accounts()
|
||||
})));
|
||||
});
|
||||
self_.filter_model.set_filter(Some(&accounts_filter));
|
||||
self_.filter_model.set_model(Some(&model));
|
||||
}
|
||||
|
@ -95,11 +94,11 @@ impl ProvidersList {
|
|||
pub fn search(&self, text: String) {
|
||||
let self_ = imp::ProvidersList::from_instance(self);
|
||||
|
||||
let accounts_filter = gtk::CustomFilter::new(Some(Box::new(move |object| {
|
||||
let accounts_filter = gtk::CustomFilter::new(move |object| {
|
||||
let provider = object.downcast_ref::<Provider>().unwrap();
|
||||
provider.filter(text.clone());
|
||||
provider.accounts().get_n_items() != 0
|
||||
})));
|
||||
});
|
||||
self_.filter_model.set_filter(Some(&accounts_filter));
|
||||
}
|
||||
|
||||
|
@ -115,7 +114,7 @@ impl ProvidersList {
|
|||
|
||||
self_.providers_list.get().bind_model(
|
||||
Some(&sort_model),
|
||||
Some(Box::new(clone!(@weak self as list => move |obj| {
|
||||
clone!(@weak self as list => move |obj| {
|
||||
let provider = obj.clone().downcast::<Provider>().unwrap();
|
||||
let row = ProviderRow::new(provider);
|
||||
row.connect_local("changed", false, clone!(@weak list => move |_| {
|
||||
|
@ -130,7 +129,7 @@ impl ProvidersList {
|
|||
})).unwrap();
|
||||
|
||||
row.upcast::<gtk::Widget>()
|
||||
}))),
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@ use crate::{
|
|||
models::{Algorithm, OTPMethod, Provider},
|
||||
widgets::ProviderImage,
|
||||
};
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::{clone, translate::ToGlib};
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{glib, prelude::*, CompositeTemplate};
|
||||
use libhandy::ComboRowExt;
|
||||
|
||||
pub enum ProviderPageMode {
|
||||
|
@ -17,7 +17,6 @@ mod imp {
|
|||
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[derive(Debug, CompositeTemplate)]
|
||||
pub struct ProviderPage {
|
||||
|
|
|
@ -2,19 +2,13 @@ use crate::{
|
|||
models::{Account, AccountSorter, OTPMethod, Provider},
|
||||
widgets::{accounts::AccountRow, ProviderImage},
|
||||
};
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use gtk::{
|
||||
gio, glib,
|
||||
glib::{clone, subclass::prelude::*},
|
||||
prelude::*,
|
||||
CompositeTemplate,
|
||||
};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{glib, glib::clone, prelude::*, CompositeTemplate};
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use std::cell::{Cell, RefCell};
|
||||
|
||||
static PROPERTIES: [subclass::Property; 2] = [
|
||||
|
@ -262,6 +256,6 @@ impl ProviderRow {
|
|||
self_
|
||||
.accounts_list
|
||||
.get()
|
||||
.bind_model(Some(&sort_model), Some(Box::new(create_callback)));
|
||||
.bind_model(Some(&sort_model), create_callback);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
use gio::subclass::ObjectSubclass;
|
||||
use glib::{clone, ObjectExt, ToValue};
|
||||
use gtk::{gio, glib, WidgetExt};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{glib, WidgetExt};
|
||||
use libhandy::ActionRowExt;
|
||||
|
||||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use libhandy::subclass::action_row::ActionRowImpl;
|
||||
use std::cell::RefCell;
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ use crate::{
|
|||
widgets::{accounts::AccountDetailsPage, providers::ProvidersList, AccountAddDialog},
|
||||
window_state,
|
||||
};
|
||||
use gio::subclass::ObjectSubclass;
|
||||
use glib::{clone, signal::Inhibit};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{gio, glib, prelude::*, CompositeTemplate};
|
||||
use gtk_macros::{action, get_action};
|
||||
use once_cell::sync::OnceCell;
|
||||
|
@ -22,7 +22,6 @@ pub enum View {
|
|||
mod imp {
|
||||
use super::*;
|
||||
use glib::subclass;
|
||||
use gtk::subclass::prelude::*;
|
||||
use libhandy::subclass::application_window::ApplicationWindowImpl as HdyApplicationWindowImpl;
|
||||
|
||||
#[derive(Debug, CompositeTemplate)]
|
||||
|
|
Loading…
Add table
Reference in a new issue