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

View File

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