ocarina/gui/idle.c

28 lines
594 B
C
Raw Normal View History

/*
* Copyright 2016 (c) Anna Schumaker.
*/
#include <core/idle.h>
#include <gui/builder.h>
#include <gtk/gtk.h>
static gboolean __on_idle(gpointer data)
{
GtkProgressBar *progress = GTK_PROGRESS_BAR(data);
if (idle_run_task()) {
gtk_progress_bar_set_fraction(progress, idle_progress());
return gtk_widget_is_visible(gui_builder_widget("o_window"));
} else {
gtk_widget_hide(GTK_WIDGET(progress));
return G_SOURCE_REMOVE;
}
}
void gui_idle_enable()
{
GtkWidget *progress = gui_builder_widget("o_idle_progress");
gtk_widget_show(progress);
g_idle_add(__on_idle, progress);
}