Tagging 0.31
[speedometer] / callbacks.c
index 55126e6..bb6dbda 100644 (file)
 
        You should have received a copy of the GNU General Public License
        along with this program.  If not, see <http://www.gnu.org/licenses/>.
-****/
+ ****/
 
-#include "callbacks.h"
-
-// this is just here for debugging and tracing purposes
-static void print_location(LocationGPSDevice* device) {
-       g_print("Latitude: %.2f\n"
-                       "Longitude: %.2f\n"
-                       "Altitude: %.2f\n"
-                       "Speed: %d",
-                       device->fix->latitude,
-                       device->fix->longitude,
-                       device->fix->altitude,
-                       device->fix->speed);
-}
-
-void location_changed(LocationGPSDevice* device, gpointer userdata) {
+#include <hildon/hildon-banner.h>
+#include <math.h>
+#include <glib.h>
 
+#include "callbacks.h"
+#include "appdata.h"
+#include "ui.h"
+
+void location_changed(LocationGPSDevice* device, gpointer data) {
+       // check for NaN before passing values
+       if(device->fix->fields & LOCATION_GPS_DEVICE_SPEED_SET) {
+               if(!isnan(device->fix->speed)) {
+                       interpret_and_set_speed(device->fix->speed);
+               }
+       }
 }
 
 gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window) {
@@ -76,10 +75,12 @@ gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* windo
        return FALSE;
 }
 
-gboolean button_press(GtkWidget* widget, GdkEventButton* event, gpointer data) {
-
-       g_print("Hello");
-       exit(0);
+gboolean long_tap(GtkWidget* widget, gpointer data) {
+       gtk_main_quit();
        return TRUE;
 }
 
+gboolean short_tap(GtkWidget* widget, GdkEventButton* event, gpointer data) {
+       change_unit();
+       return TRUE;
+}