Drop me a postcard -dialog implemented with GConf flag.
[speedometer] / callbacks.c
index 55126e6..950c202 100644 (file)
 ****/
 
 #include "callbacks.h"
+#include "appdata.h"
+#include "util.h"
 
-// this is just here for debugging and tracing purposes
+// this is just here for debugging
 static void print_location(LocationGPSDevice* device) {
        g_print("Latitude: %.2f\n"
                        "Longitude: %.2f\n"
                        "Altitude: %.2f\n"
-                       "Speed: %d",
+                       "Speed: %.2d\n",
                        device->fix->latitude,
                        device->fix->longitude,
                        device->fix->altitude,
                        device->fix->speed);
 }
 
-void location_changed(LocationGPSDevice* device, gpointer userdata) {
+void location_changed(LocationGPSDevice* device, gpointer data) {
+       //print_location(device);
 
+       AppData* appdata = (AppData*) data;
+
+       if(device->fix->fields & LOCATION_GPS_DEVICE_SPEED_SET) {
+               g_print("Speed is %.2f km/h\n", device->fix->speed);
+               interpret_speed_from_gps(appdata, device->fix->speed);
+       }
 }
 
 gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window) {
@@ -76,10 +85,29 @@ gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* windo
        return FALSE;
 }
 
-gboolean button_press(GtkWidget* widget, GdkEventButton* event, gpointer data) {
+gboolean top_event_box_button_press(GtkWidget* widget, GdkEventButton* event, gpointer data) {
+       gdouble x = event->x;
+       g_print("Top event box pressed at: %f\n", x);
+       AppData* appdata = (AppData*) data;
+
+       if(x > 750) {
+               g_print("Exiting..\n");
+               stop_gps(appdata);
+               g_signal_emit_by_name(appdata->window, "delete_event");
+       }
+       else {
+               randomize(appdata);
+       }
+       return TRUE;
+}
+
+
+gboolean bottom_event_box_button_press(GtkWidget* widget, GdkEventButton* event, gpointer data) {
+       gdouble x = event->x;
+       g_print("Bottom event box pressed at: %f\n", x);
+       AppData* appdata = (AppData*) data;
 
-       g_print("Hello");
-       exit(0);
+       randomize(data);
        return TRUE;
 }