diff --git a/data/resources/icons/scalable/actions/external-link-symbolic.svg b/data/resources/icons/scalable/actions/external-link-symbolic.svg
new file mode 100644
index 0000000..e88a887
--- /dev/null
+++ b/data/resources/icons/scalable/actions/external-link-symbolic.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/src/widgets/image_page.rs b/src/widgets/image_page.rs
index 90769c8..4302e7e 100644
--- a/src/widgets/image_page.rs
+++ b/src/widgets/image_page.rs
@@ -33,6 +33,8 @@ use crate::util::gettext::*;
use crate::widgets::LpImage;
mod imp {
+ use std::time::Duration;
+
use super::*;
#[derive(Debug, Default, CompositeTemplate, Properties)]
@@ -43,6 +45,8 @@ mod imp {
pub(super) stack: TemplateChild,
#[template_child]
pub(super) spinner_page: TemplateChild,
+ #[template_child]
+ pub(super) spinner_revealer: TemplateChild,
#[template_child]
pub(super) error_page: TemplateChild,
@@ -146,6 +150,13 @@ mod imp {
glib::spawn_future_local(async move { obj.show_error().await });
}
));
+
+ self.spinner_revealer.connect_map(|revealer| {
+ let revealer = revealer.clone();
+ glib::timeout_add_local_once(Duration::from_millis(200), move || {
+ revealer.set_reveal_child(true);
+ });
+ });
}
}
diff --git a/src/widgets/image_page.ui b/src/widgets/image_page.ui
index 4bc52f2..8668d5f 100644
--- a/src/widgets/image_page.ui
+++ b/src/widgets/image_page.ui
@@ -47,7 +47,13 @@
true
true
-
+