Update gtk-rs
This brings us a neat new function, `imp()`, that lets us drop `from_instance()` everywhere.
This commit is contained in:
parent
400672b6b6
commit
56a47fb447
4 changed files with 48 additions and 48 deletions
54
Cargo.lock
generated
54
Cargo.lock
generated
|
|
@ -186,7 +186,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cairo-rs"
|
name = "cairo-rs"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"cairo-sys-rs 0.15.0",
|
"cairo-sys-rs 0.15.0",
|
||||||
|
|
@ -209,7 +209,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cairo-sys-rs"
|
name = "cairo-sys-rs"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
"libc",
|
"libc",
|
||||||
|
|
@ -444,7 +444,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk-pixbuf"
|
name = "gdk-pixbuf"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"gdk-pixbuf-sys",
|
"gdk-pixbuf-sys",
|
||||||
|
|
@ -456,7 +456,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk-pixbuf-sys"
|
name = "gdk-pixbuf-sys"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gio-sys",
|
"gio-sys",
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
|
|
@ -468,7 +468,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk4"
|
name = "gdk4"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"cairo-rs 0.15.0",
|
"cairo-rs 0.15.0",
|
||||||
|
|
@ -483,7 +483,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk4-sys"
|
name = "gdk4-sys"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cairo-sys-rs 0.15.0",
|
"cairo-sys-rs 0.15.0",
|
||||||
"gdk-pixbuf-sys",
|
"gdk-pixbuf-sys",
|
||||||
|
|
@ -498,7 +498,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk4-wayland"
|
name = "gdk4-wayland"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gdk4",
|
"gdk4",
|
||||||
"gdk4-wayland-sys",
|
"gdk4-wayland-sys",
|
||||||
|
|
@ -510,7 +510,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk4-wayland-sys"
|
name = "gdk4-wayland-sys"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
"libc",
|
"libc",
|
||||||
|
|
@ -520,7 +520,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk4-x11"
|
name = "gdk4-x11"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gdk4",
|
"gdk4",
|
||||||
"gdk4-x11-sys",
|
"gdk4-x11-sys",
|
||||||
|
|
@ -532,7 +532,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gdk4-x11-sys"
|
name = "gdk4-x11-sys"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gdk4-sys",
|
"gdk4-sys",
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
|
|
@ -574,7 +574,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gio"
|
name = "gio"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
|
|
@ -590,7 +590,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gio-sys"
|
name = "gio-sys"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
"gobject-sys 0.15.0",
|
"gobject-sys 0.15.0",
|
||||||
|
|
@ -621,7 +621,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "glib"
|
name = "glib"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
|
|
@ -655,7 +655,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "glib-macros"
|
name = "glib-macros"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"heck 0.4.0",
|
"heck 0.4.0",
|
||||||
|
|
@ -679,7 +679,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "glib-sys"
|
name = "glib-sys"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"system-deps 6.0.0",
|
"system-deps 6.0.0",
|
||||||
|
|
@ -699,7 +699,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gobject-sys"
|
name = "gobject-sys"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
"libc",
|
"libc",
|
||||||
|
|
@ -709,7 +709,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "graphene-rs"
|
name = "graphene-rs"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib 0.15.0",
|
"glib 0.15.0",
|
||||||
"graphene-sys",
|
"graphene-sys",
|
||||||
|
|
@ -719,7 +719,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "graphene-sys"
|
name = "graphene-sys"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
"libc",
|
"libc",
|
||||||
|
|
@ -730,7 +730,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gsk4"
|
name = "gsk4"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"cairo-rs 0.15.0",
|
"cairo-rs 0.15.0",
|
||||||
|
|
@ -745,7 +745,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gsk4-sys"
|
name = "gsk4-sys"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cairo-sys-rs 0.15.0",
|
"cairo-sys-rs 0.15.0",
|
||||||
"gdk4-sys",
|
"gdk4-sys",
|
||||||
|
|
@ -766,7 +766,7 @@ checksum = "1874c48e670519ce192093ac906c08a6dde7cb2d18b28722ef237726a39c3a63"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gtk4"
|
name = "gtk4"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"cairo-rs 0.15.0",
|
"cairo-rs 0.15.0",
|
||||||
|
|
@ -788,7 +788,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gtk4-macros"
|
name = "gtk4-macros"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"proc-macro-crate",
|
"proc-macro-crate",
|
||||||
|
|
@ -801,7 +801,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gtk4-sys"
|
name = "gtk4-sys"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk4-rs#78bb52b37f3babf67b6ab2857d42536169e5926a"
|
source = "git+https://github.com/gtk-rs/gtk4-rs#465be0bcbf0a3d21be75e52d9a279c2fe2e5d70b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cairo-sys-rs 0.15.0",
|
"cairo-sys-rs 0.15.0",
|
||||||
"gdk-pixbuf-sys",
|
"gdk-pixbuf-sys",
|
||||||
|
|
@ -882,7 +882,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libadwaita"
|
name = "libadwaita"
|
||||||
version = "0.1.0-alpha-6"
|
version = "0.1.0-alpha-6"
|
||||||
source = "git+https://gitlab.gnome.org/World/Rust/libadwaita-rs.git#cace3c604ccb97b36df30a96652fe5a1994e41d7"
|
source = "git+https://gitlab.gnome.org/World/Rust/libadwaita-rs.git#a37c4f5644a518dbe0b9f0095e73519f0eb3dec5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gdk-pixbuf",
|
"gdk-pixbuf",
|
||||||
"gdk4",
|
"gdk4",
|
||||||
|
|
@ -898,7 +898,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libadwaita-sys"
|
name = "libadwaita-sys"
|
||||||
version = "0.1.0-alpha-6"
|
version = "0.1.0-alpha-6"
|
||||||
source = "git+https://gitlab.gnome.org/World/Rust/libadwaita-rs.git#cace3c604ccb97b36df30a96652fe5a1994e41d7"
|
source = "git+https://gitlab.gnome.org/World/Rust/libadwaita-rs.git#a37c4f5644a518dbe0b9f0095e73519f0eb3dec5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gdk4-sys",
|
"gdk4-sys",
|
||||||
"gio-sys",
|
"gio-sys",
|
||||||
|
|
@ -1030,7 +1030,7 @@ checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pango"
|
name = "pango"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"glib 0.15.0",
|
"glib 0.15.0",
|
||||||
|
|
@ -1042,7 +1042,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pango-sys"
|
name = "pango-sys"
|
||||||
version = "0.15.0"
|
version = "0.15.0"
|
||||||
source = "git+https://github.com/gtk-rs/gtk-rs-core#0527cfe1cddbec27917661f3980f0eded68e5a3a"
|
source = "git+https://github.com/gtk-rs/gtk-rs-core#c7ca022bc549eb2dc97736f4ff446e8ac6ac099e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib-sys 0.15.0",
|
"glib-sys 0.15.0",
|
||||||
"gobject-sys 0.15.0",
|
"gobject-sys 0.15.0",
|
||||||
|
|
|
||||||
|
|
@ -173,13 +173,13 @@ glib::wrapper! {
|
||||||
|
|
||||||
impl LpImage {
|
impl LpImage {
|
||||||
pub fn file(&self) -> Option<gio::File> {
|
pub fn file(&self) -> Option<gio::File> {
|
||||||
let imp = imp::LpImage::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
imp.file.borrow().clone()
|
imp.file.borrow().clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_file(&self, file: &gio::File) {
|
pub fn set_file(&self, file: &gio::File) {
|
||||||
let imp = imp::LpImage::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
match gdk::Texture::from_file(file) {
|
match gdk::Texture::from_file(file) {
|
||||||
Ok(texture) => {
|
Ok(texture) => {
|
||||||
|
|
@ -197,12 +197,12 @@ impl LpImage {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn image_width(&self) -> i32 {
|
pub fn image_width(&self) -> i32 {
|
||||||
let imp = imp::LpImage::from_instance(&self);
|
let imp = self.imp();
|
||||||
imp.image_width.get()
|
imp.image_width.get()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn image_height(&self) -> i32 {
|
pub fn image_height(&self) -> i32 {
|
||||||
let imp = imp::LpImage::from_instance(&self);
|
let imp = self.imp();
|
||||||
imp.image_height.get()
|
imp.image_height.get()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ glib::wrapper! {
|
||||||
|
|
||||||
impl LpImageView {
|
impl LpImageView {
|
||||||
pub fn set_image_from_file(&self, file: &gio::File) -> anyhow::Result<(i32, i32)> {
|
pub fn set_image_from_file(&self, file: &gio::File) -> anyhow::Result<(i32, i32)> {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
|
|
||||||
if let Some(current_file) = imp.picture.file() {
|
if let Some(current_file) = imp.picture.file() {
|
||||||
if current_file.path().as_deref() == file.path().as_deref() {
|
if current_file.path().as_deref() == file.path().as_deref() {
|
||||||
|
|
@ -170,7 +170,7 @@ impl LpImageView {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_parent_from_file(&self, file: &gio::File) {
|
fn set_parent_from_file(&self, file: &gio::File) {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
|
|
||||||
if let Some(parent) = file.parent() {
|
if let Some(parent) = file.parent() {
|
||||||
let parent_path = parent.path().map(|p| p.to_str().unwrap().to_string());
|
let parent_path = parent.path().map(|p| p.to_str().unwrap().to_string());
|
||||||
|
|
@ -231,7 +231,7 @@ impl LpImageView {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn update_image(&self) {
|
fn update_image(&self) {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
|
|
||||||
let path = &format!(
|
let path = &format!(
|
||||||
"{}/{}",
|
"{}/{}",
|
||||||
|
|
@ -248,21 +248,21 @@ impl LpImageView {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn next(&self) {
|
pub fn next(&self) {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
// TODO: Replace with `Cell::update()` once stabilized
|
// TODO: Replace with `Cell::update()` once stabilized
|
||||||
imp.index.set(imp.index.get() + 1);
|
imp.index.set(imp.index.get() + 1);
|
||||||
self.update_image();
|
self.update_image();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn previous(&self) {
|
pub fn previous(&self) {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
// TODO: Replace with `Cell::update()` once stabilized
|
// TODO: Replace with `Cell::update()` once stabilized
|
||||||
imp.index.set(imp.index.get() - 1);
|
imp.index.set(imp.index.get() - 1);
|
||||||
self.update_image();
|
self.update_image();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn update_action_state(&self) {
|
pub fn update_action_state(&self) {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
let index = imp.index.get();
|
let index = imp.index.get();
|
||||||
self.action_set_enabled("iv.next", index < imp.directory_pictures.borrow().len() - 1);
|
self.action_set_enabled("iv.next", index < imp.directory_pictures.borrow().len() - 1);
|
||||||
self.action_set_enabled("iv.previous", index > 0);
|
self.action_set_enabled("iv.previous", index > 0);
|
||||||
|
|
@ -297,7 +297,7 @@ impl LpImageView {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print(&self) -> anyhow::Result<()> {
|
pub fn print(&self) -> anyhow::Result<()> {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
|
|
||||||
let operation = gtk::PrintOperation::new();
|
let operation = gtk::PrintOperation::new();
|
||||||
let path = &format!(
|
let path = &format!(
|
||||||
|
|
@ -338,17 +338,17 @@ impl LpImageView {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn uri(&self) -> Option<String> {
|
pub fn uri(&self) -> Option<String> {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
imp.uri.borrow().to_owned()
|
imp.uri.borrow().to_owned()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn filename(&self) -> Option<String> {
|
pub fn filename(&self) -> Option<String> {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
imp.filename.borrow().to_owned()
|
imp.filename.borrow().to_owned()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn show_popover_at(&self, x: f64, y: f64) {
|
pub fn show_popover_at(&self, x: f64, y: f64) {
|
||||||
let imp = imp::LpImageView::from_instance(&self);
|
let imp = self.imp();
|
||||||
|
|
||||||
let rect = gdk::Rectangle::new(x as i32, y as i32, 0, 0);
|
let rect = gdk::Rectangle::new(x as i32, y as i32, 0, 0);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -207,7 +207,7 @@ impl LpWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn toggle_fullscreen(&self, fullscreen: bool) {
|
fn toggle_fullscreen(&self, fullscreen: bool) {
|
||||||
let imp = imp::LpWindow::from_instance(&self);
|
let imp = self.imp();
|
||||||
|
|
||||||
if fullscreen {
|
if fullscreen {
|
||||||
imp.flap.set_fold_policy(adw::FlapFoldPolicy::Always);
|
imp.flap.set_fold_policy(adw::FlapFoldPolicy::Always);
|
||||||
|
|
@ -262,7 +262,7 @@ impl LpWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn open_with(&self) {
|
fn open_with(&self) {
|
||||||
let imp = imp::LpWindow::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
if let Some(uri) = imp.image_view.uri() {
|
if let Some(uri) = imp.image_view.uri() {
|
||||||
std::process::Command::new("xdg-open")
|
std::process::Command::new("xdg-open")
|
||||||
|
|
@ -275,7 +275,7 @@ impl LpWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_wallpaper(&self) {
|
fn set_wallpaper(&self) {
|
||||||
let imp = imp::LpWindow::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
if let Err(e) = imp.image_view.set_wallpaper() {
|
if let Err(e) = imp.image_view.set_wallpaper() {
|
||||||
log::error!("Failed to set wallpaper: {}", e);
|
log::error!("Failed to set wallpaper: {}", e);
|
||||||
|
|
@ -283,7 +283,7 @@ impl LpWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print(&self) {
|
fn print(&self) {
|
||||||
let imp = imp::LpWindow::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
if let Err(e) = imp.image_view.print() {
|
if let Err(e) = imp.image_view.print() {
|
||||||
log::error!("Failed to print file: {}", e);
|
log::error!("Failed to print file: {}", e);
|
||||||
|
|
@ -291,7 +291,7 @@ impl LpWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn show_toast(&self, text: &impl AsRef<str>, priority: adw::ToastPriority) {
|
fn show_toast(&self, text: &impl AsRef<str>, priority: adw::ToastPriority) {
|
||||||
let imp = imp::LpWindow::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
let toast = adw::Toast::new(text.as_ref());
|
let toast = adw::Toast::new(text.as_ref());
|
||||||
toast.set_priority(priority);
|
toast.set_priority(priority);
|
||||||
|
|
@ -300,7 +300,7 @@ impl LpWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_image_from_file(&self, file: &gio::File, resize: bool) {
|
pub fn set_image_from_file(&self, file: &gio::File, resize: bool) {
|
||||||
let imp = imp::LpWindow::from_instance(self);
|
let imp = self.imp();
|
||||||
|
|
||||||
log::debug!("Loading file: {}", file.uri().to_string());
|
log::debug!("Loading file: {}", file.uri().to_string());
|
||||||
match imp.image_view.set_image_from_file(file) {
|
match imp.image_view.set_image_from_file(file) {
|
||||||
|
|
@ -326,7 +326,7 @@ impl LpWindow {
|
||||||
|
|
||||||
// Adapted from https://gitlab.gnome.org/GNOME/eog/-/blob/master/src/eog-window.c:eog_window_obtain_desired_size
|
// Adapted from https://gitlab.gnome.org/GNOME/eog/-/blob/master/src/eog-window.c:eog_window_obtain_desired_size
|
||||||
pub fn resize_from_dimensions(&self, img_width: i32, img_height: i32) {
|
pub fn resize_from_dimensions(&self, img_width: i32, img_height: i32) {
|
||||||
let imp = imp::LpWindow::from_instance(self);
|
let imp = self.imp();
|
||||||
let mut final_width = img_width;
|
let mut final_width = img_width;
|
||||||
let mut final_height = img_height;
|
let mut final_height = img_height;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue