Changed status box shrink logic

pull/32/head
Ivan Dmitrievich Yartsev 11 months ago
parent f2bab7e723
commit ddfc3c9a21

@ -110,9 +110,22 @@ gboolean yon_ubl_status_hide_revealer(struct temp_statusbox *statusstruct){
gtk_revealer_set_reveal_child(GTK_REVEALER(statusstruct->revealer),0);
}
gboolean yon_status_shrink_window(struct temp_statusbox *statusstruct){
if (statusstruct->revealer){
GtkWidget *window = gtk_widget_get_toplevel(statusstruct->revealer);
int width, height;
gtk_window_get_size(GTK_WINDOW(window),&width,NULL);
gtk_window_resize(GTK_WINDOW(window),width,statusstruct->window_height);
return G_SOURCE_CONTINUE;
} else return G_SOURCE_REMOVE;
}
gboolean yon_ubl_status_destroy_status(struct temp_statusbox *statusstruct){
GtkWidget *window = gtk_widget_get_toplevel(statusstruct->revealer);
GtkWidget *revealer = statusstruct->revealer;
gtk_widget_destroy(statusstruct->revealer);
statusstruct->revealer = NULL;
int width, height;
gtk_window_get_size(GTK_WINDOW(window),&width,NULL);
gtk_window_resize(GTK_WINDOW(window),width,statusstruct->window_height);
@ -123,6 +136,7 @@ void _yon_ubl_status_box_timed_remove(struct temp_statusbox *statusstruct){
sleep(statusstruct->times);
if (statusstruct->revealer){
g_idle_add((GSourceFunc)yon_ubl_status_hide_revealer,statusstruct);
g_idle_add((GSourceFunc)yon_status_shrink_window,statusstruct);
sleep(1);
g_idle_add((GSourceFunc)yon_ubl_status_destroy_status,statusstruct);
}

Loading…
Cancel
Save