GConf support.
[speedometer] / ui.c
diff --git a/ui.c b/ui.c
index d582f5b..44fd2c8 100644 (file)
--- a/ui.c
+++ b/ui.c
@@ -33,50 +33,53 @@ static void set_widget_bg_black(GtkWidget* widget) {
 
 void load_images(AppData *appdata) {
        g_print("Loading images\n");
-       int i = 0;
+       guint i = 0;
        while(i < 10) {
-               char* path = malloc(30);
+               char* path = g_malloc(30);
                g_sprintf(path, IMAGE_PATH, i);
-               appdata->image_array[i] = (GtkImage*) gtk_image_new_from_file(path);
+               appdata->image_array[i] = gtk_image_new_from_file(path);
                g_print(path);
                g_print("\n");
-               free(path);
+               g_free(path);
                i++;
        }
 }
 
-void reset_speed(AppData* appdata) {
+void load_initial_pixbufs(AppData* appdata) {
 
-       GdkPixbuf* zero = gtk_image_get_pixbuf(appdata->image_array[0]);
+       GdkPixbuf* zero = gtk_image_get_pixbuf(GTK_IMAGE(appdata->image_array[0]));
 
-       appdata->speed_array[0] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
-       appdata->speed_array[1] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
-       appdata->speed_array[2] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
+       appdata->digit_array[0] = GTK_WIDGET(gtk_image_new_from_pixbuf(zero));
+       appdata->digit_array[1] = GTK_WIDGET(gtk_image_new_from_pixbuf(zero));
+       appdata->digit_array[2] = GTK_WIDGET(gtk_image_new_from_pixbuf(zero));
 }
 
 void set_nth_digit(AppData* appdata, guint n, guint value) {
        //assert(nth >= 0 && nth < 3);
 
-       GtkImage* image = appdata->speed_array[n];
-       GdkPixbuf* buf = gtk_image_get_pixbuf(appdata->image_array[value]);
-       gtk_image_set_from_pixbuf(image, buf);
-       gtk_widget_queue_draw(GTK_WIDGET(appdata->speed_array[n]));
+       GtkWidget* image = appdata->digit_array[n];
+       GdkPixbuf* buf = gtk_image_get_pixbuf(GTK_IMAGE(appdata->image_array[value]));
+       gtk_image_set_from_pixbuf(GTK_IMAGE(image), buf);
 }
 
-guint randomize(AppData* appdata) {
+void repaint_all_digits(AppData* appdata) {
+       gtk_widget_queue_draw(GTK_WIDGET(appdata->digit_array[0]));
+       gtk_widget_queue_draw(GTK_WIDGET(appdata->digit_array[1]));
+       gtk_widget_queue_draw(GTK_WIDGET(appdata->digit_array[2]));
+}
+
+void randomize(AppData* appdata) {
 
        gint32 n = g_random_int_range(0, 3);
-       GtkImage* image = appdata->speed_array[n];
+       GtkWidget* image = appdata->digit_array[n];
 
        gint32 m = g_random_int_range(0, 10);
-       GdkPixbuf* buf = gtk_image_get_pixbuf(appdata->image_array[m]);
+       GdkPixbuf* buf = gtk_image_get_pixbuf(GTK_IMAGE(appdata->image_array[m]));
 
        g_print("Setting number %d to %d.. ", n+1, m);
 
-       gtk_image_set_from_pixbuf(image, buf);
-       gtk_widget_queue_draw(GTK_WIDGET(appdata->speed_array[n]));
-
-       return TRUE;
+       gtk_image_set_from_pixbuf(GTK_IMAGE(image), buf);
+       gtk_widget_queue_draw(appdata->digit_array[n]);
 }
 
 void create_ui(AppData* appdata) {
@@ -111,9 +114,9 @@ void create_ui(AppData* appdata) {
                appdata->window);
 
        // add three digits to the hbox
-       gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[0]), FALSE, FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[1]), FALSE, FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[2]), FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->digit_array[0]), FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->digit_array[1]), FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->digit_array[2]), FALSE, FALSE, 0);
 
        gtk_box_pack_start_defaults(GTK_BOX(vbox), top_e); // add event box on top
        gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox); // numbers to the middle