image: Use macro for object properties

This commit is contained in:
Sophie Herold 2023-11-29 01:49:14 +01:00
parent 6594b2caf0
commit 55811a2bb7
6 changed files with 166 additions and 278 deletions

View file

@ -118,26 +118,23 @@ mod imp {
imp.spinner.set_visible(spinner_visible);
}));
obj.image().connect_notify_local(
Some("is-loaded"),
clone!(@weak obj => move |_,_| {
obj.image()
.connect_is_loaded_notify(clone!(@weak obj => move |_| {
if obj.image().is_loaded() {
log::debug!("Showing image");
obj.imp()
.stack
.set_visible_child(&*obj.imp().image_stack_page);
}
}),
);
}));
obj.image().connect_notify_local(
Some("error"),
clone!(@weak obj => move |_,_| {
obj.image()
.connect_error_notify(clone!(@weak obj => move |_| {
if obj.image().error().is_some() {
obj.imp().stack.set_visible_child(&*obj.imp().error_page);
}
}),
);
}));
// Do not waste CPU on spinner if it is not visible
self.spinner.connect_map(|s| s.start());
self.spinner.connect_unmap(|s| s.stop());