Animate refresh indicator show/hide

This commit is contained in:
Camden Dixie O'Brien 2025-03-02 12:52:29 +00:00
parent 019bdf9ce6
commit 5a6b535beb
2 changed files with 15 additions and 6 deletions

View File

@ -36,9 +36,7 @@ namespace StudySystemClient {
refreshing_indicator = new RefreshingIndicator(overlay); refreshing_indicator = new RefreshingIndicator(overlay);
refresh.begin((obj, res) => { this.map.connect(refresh);
refresh.end(res);
});
} }
private async void refresh() { private async void refresh() {
@ -92,15 +90,18 @@ namespace StudySystemClient {
frame.halign = Gtk.Align.CENTER; frame.halign = Gtk.Align.CENTER;
frame.valign = Gtk.Align.START; frame.valign = Gtk.Align.START;
frame.add_css_class("osd"); frame.add_css_class("osd");
frame.add_css_class("popdown");
frame.set_child(content); frame.set_child(content);
}
public void show() {
overlay.add_overlay(frame); overlay.add_overlay(frame);
} }
public void show() {
frame.add_css_class("visible");
}
public void hide() { public void hide() {
overlay.remove_overlay(frame); frame.remove_css_class("visible");
} }
} }
} }

View File

@ -32,3 +32,11 @@
overlay > frame.osd { overlay > frame.osd {
border-radius: 0 0 8px 8px; border-radius: 0 0 8px 8px;
} }
.popdown {
transition: transform 200ms ease-in-out;
transform: translateY(-100px);
}
.popdown.visible {
transform: translateY(0);
}