application: Stop using expressions

This commit moves the logic from the expressions to the
window via GSignalGroup.
This commit is contained in:
Christopher Davis 2023-03-04 11:47:07 -05:00 • committed by Sophie Herold
parent 3d445f25fe
commit 4d4bc4bb38
2 changed files with 32 additions and 58 deletions

View file

@ -26,7 +26,6 @@ use glib::clone;
use gtk_macros::spawn;
use crate::config;
use crate::widgets::{LpImage, LpImagePage};
use crate::window::LpWindow;
mod imp {
@ -79,35 +78,6 @@ mod imp {
let win = LpWindow::new(&*application);
win.set_image_from_path(&path);
// show window when image size is known
let watch = win
.imp()
.image_view
.property_expression("current-page")
.chain_property::<LpImagePage>("image")
.chain_property::<LpImage>("image-size")
.watch(
glib::Object::NONE,
glib::clone!(@weak win => move || {
win.image_size_ready();
}),
);
win.imp().watch_image_size.replace(Some(watch));
// show if loading image errors
let watch = win
.imp()
.image_view
.property_expression("current-page")
.chain_property::<LpImagePage>("error")
.watch(
glib::Object::NONE,
glib::clone!(@weak win => move || {
win.image_error();
}),
);
win.imp().watch_image_error.replace(Some(watch));
}
}
}