diff --git a/Cargo.lock b/Cargo.lock index 2f7a99d..01edebf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -186,7 +186,7 @@ dependencies = [ [[package]] name = "cairo-rs" 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 = [ "bitflags", "cairo-sys-rs 0.15.0", @@ -209,7 +209,7 @@ dependencies = [ [[package]] name = "cairo-sys-rs" 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 = [ "glib-sys 0.15.0", "libc", @@ -444,7 +444,7 @@ dependencies = [ [[package]] name = "gdk-pixbuf" 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 = [ "bitflags", "gdk-pixbuf-sys", @@ -456,7 +456,7 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" 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 = [ "gio-sys", "glib-sys 0.15.0", @@ -468,7 +468,7 @@ dependencies = [ [[package]] name = "gdk4" 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 = [ "bitflags", "cairo-rs 0.15.0", @@ -483,7 +483,7 @@ dependencies = [ [[package]] name = "gdk4-sys" 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 = [ "cairo-sys-rs 0.15.0", "gdk-pixbuf-sys", @@ -498,7 +498,7 @@ dependencies = [ [[package]] name = "gdk4-wayland" 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 = [ "gdk4", "gdk4-wayland-sys", @@ -510,7 +510,7 @@ dependencies = [ [[package]] name = "gdk4-wayland-sys" 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 = [ "glib-sys 0.15.0", "libc", @@ -520,7 +520,7 @@ dependencies = [ [[package]] name = "gdk4-x11" 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 = [ "gdk4", "gdk4-x11-sys", @@ -532,7 +532,7 @@ dependencies = [ [[package]] name = "gdk4-x11-sys" 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 = [ "gdk4-sys", "glib-sys 0.15.0", @@ -574,7 +574,7 @@ dependencies = [ [[package]] name = "gio" 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 = [ "bitflags", "futures-channel", @@ -590,7 +590,7 @@ dependencies = [ [[package]] name = "gio-sys" 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 = [ "glib-sys 0.15.0", "gobject-sys 0.15.0", @@ -621,7 +621,7 @@ dependencies = [ [[package]] name = "glib" 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 = [ "bitflags", "futures-channel", @@ -655,7 +655,7 @@ dependencies = [ [[package]] name = "glib-macros" 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 = [ "anyhow", "heck 0.4.0", @@ -679,7 +679,7 @@ dependencies = [ [[package]] name = "glib-sys" 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 = [ "libc", "system-deps 6.0.0", @@ -699,7 +699,7 @@ dependencies = [ [[package]] name = "gobject-sys" 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 = [ "glib-sys 0.15.0", "libc", @@ -709,7 +709,7 @@ dependencies = [ [[package]] name = "graphene-rs" 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 = [ "glib 0.15.0", "graphene-sys", @@ -719,7 +719,7 @@ dependencies = [ [[package]] name = "graphene-sys" 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 = [ "glib-sys 0.15.0", "libc", @@ -730,7 +730,7 @@ dependencies = [ [[package]] name = "gsk4" 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 = [ "bitflags", "cairo-rs 0.15.0", @@ -745,7 +745,7 @@ dependencies = [ [[package]] name = "gsk4-sys" 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 = [ "cairo-sys-rs 0.15.0", "gdk4-sys", @@ -766,7 +766,7 @@ checksum = "1874c48e670519ce192093ac906c08a6dde7cb2d18b28722ef237726a39c3a63" [[package]] name = "gtk4" 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 = [ "bitflags", "cairo-rs 0.15.0", @@ -788,7 +788,7 @@ dependencies = [ [[package]] name = "gtk4-macros" 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 = [ "anyhow", "proc-macro-crate", @@ -801,7 +801,7 @@ dependencies = [ [[package]] name = "gtk4-sys" 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 = [ "cairo-sys-rs 0.15.0", "gdk-pixbuf-sys", @@ -882,7 +882,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libadwaita" 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 = [ "gdk-pixbuf", "gdk4", @@ -898,7 +898,7 @@ dependencies = [ [[package]] name = "libadwaita-sys" 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 = [ "gdk4-sys", "gio-sys", @@ -1030,7 +1030,7 @@ checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" [[package]] name = "pango" 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 = [ "bitflags", "glib 0.15.0", @@ -1042,7 +1042,7 @@ dependencies = [ [[package]] name = "pango-sys" 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 = [ "glib-sys 0.15.0", "gobject-sys 0.15.0", diff --git a/src/widgets/image.rs b/src/widgets/image.rs index 485a07e..0bd7a9b 100644 --- a/src/widgets/image.rs +++ b/src/widgets/image.rs @@ -173,13 +173,13 @@ glib::wrapper! { impl LpImage { pub fn file(&self) -> Option { - let imp = imp::LpImage::from_instance(self); + let imp = self.imp(); imp.file.borrow().clone() } 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) { Ok(texture) => { @@ -197,12 +197,12 @@ impl LpImage { } pub fn image_width(&self) -> i32 { - let imp = imp::LpImage::from_instance(&self); + let imp = self.imp(); imp.image_width.get() } pub fn image_height(&self) -> i32 { - let imp = imp::LpImage::from_instance(&self); + let imp = self.imp(); imp.image_height.get() } } diff --git a/src/widgets/image_view.rs b/src/widgets/image_view.rs index 5b8036b..58877fd 100644 --- a/src/widgets/image_view.rs +++ b/src/widgets/image_view.rs @@ -146,7 +146,7 @@ glib::wrapper! { impl LpImageView { 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 current_file.path().as_deref() == file.path().as_deref() { @@ -170,7 +170,7 @@ impl LpImageView { } 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() { let parent_path = parent.path().map(|p| p.to_str().unwrap().to_string()); @@ -231,7 +231,7 @@ impl LpImageView { } fn update_image(&self) { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); let path = &format!( "{}/{}", @@ -248,21 +248,21 @@ impl LpImageView { } pub fn next(&self) { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); // TODO: Replace with `Cell::update()` once stabilized imp.index.set(imp.index.get() + 1); self.update_image(); } pub fn previous(&self) { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); // TODO: Replace with `Cell::update()` once stabilized imp.index.set(imp.index.get() - 1); self.update_image(); } pub fn update_action_state(&self) { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); let index = imp.index.get(); self.action_set_enabled("iv.next", index < imp.directory_pictures.borrow().len() - 1); self.action_set_enabled("iv.previous", index > 0); @@ -297,7 +297,7 @@ impl LpImageView { } pub fn print(&self) -> anyhow::Result<()> { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); let operation = gtk::PrintOperation::new(); let path = &format!( @@ -338,17 +338,17 @@ impl LpImageView { } pub fn uri(&self) -> Option { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); imp.uri.borrow().to_owned() } pub fn filename(&self) -> Option { - let imp = imp::LpImageView::from_instance(&self); + let imp = self.imp(); imp.filename.borrow().to_owned() } 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); diff --git a/src/window.rs b/src/window.rs index 11c7024..7492a0e 100644 --- a/src/window.rs +++ b/src/window.rs @@ -207,7 +207,7 @@ impl LpWindow { } fn toggle_fullscreen(&self, fullscreen: bool) { - let imp = imp::LpWindow::from_instance(&self); + let imp = self.imp(); if fullscreen { imp.flap.set_fold_policy(adw::FlapFoldPolicy::Always); @@ -262,7 +262,7 @@ impl LpWindow { } fn open_with(&self) { - let imp = imp::LpWindow::from_instance(self); + let imp = self.imp(); if let Some(uri) = imp.image_view.uri() { std::process::Command::new("xdg-open") @@ -275,7 +275,7 @@ impl LpWindow { } fn set_wallpaper(&self) { - let imp = imp::LpWindow::from_instance(self); + let imp = self.imp(); if let Err(e) = imp.image_view.set_wallpaper() { log::error!("Failed to set wallpaper: {}", e); @@ -283,7 +283,7 @@ impl LpWindow { } fn print(&self) { - let imp = imp::LpWindow::from_instance(self); + let imp = self.imp(); if let Err(e) = imp.image_view.print() { log::error!("Failed to print file: {}", e); @@ -291,7 +291,7 @@ impl LpWindow { } fn show_toast(&self, text: &impl AsRef, priority: adw::ToastPriority) { - let imp = imp::LpWindow::from_instance(self); + let imp = self.imp(); let toast = adw::Toast::new(text.as_ref()); toast.set_priority(priority); @@ -300,7 +300,7 @@ impl LpWindow { } 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()); 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 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_height = img_height;