X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=callbacks.c;h=bb6dbdade47680181195c8ec2a56a49a2f156d5a;hb=633158f78b1a600b464275f7eea62fb776652b91;hp=ff693f8bf4b2ab9a578ed22d2ad00a6b069e7106;hpb=c04ab31999e20c6e5996ff79264474631e42c2e3;p=speedometer
diff --git a/callbacks.c b/callbacks.c
index ff693f8..bb6dbda 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -14,57 +14,73 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see .
-****/
+ ****/
-#include
+#include
+#include
+#include
#include "callbacks.h"
-
-void location_changed(LocationGPSDevice* device, gpointer userdata) {
- g_print ("Latitude: %.2f\nLongitude: %.2f\nAltitude: %.2f\n",
- device->fix->latitude, device->fix->longitude, device->fix->altitude);
+#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);
+ }
+ }
}
-
-/* Callback for hardware keys */
gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window) {
- switch (event->keyval) {
- case GDK_Up:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Up");
- return TRUE;
+ switch (event->keyval) {
+ case GDK_Up:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Up");
+ return TRUE;
+
+ case GDK_Down:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Down");
+ return TRUE;
- case GDK_Down:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Down");
- return TRUE;
+ case GDK_Left:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Left");
+ return TRUE;
- case GDK_Left:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Left");
- return TRUE;
+ case GDK_Right:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Right");
+ return TRUE;
- case GDK_Right:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Right");
- return TRUE;
+ case GDK_Return:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key select");
+ return TRUE;
- case GDK_Return:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key select");
- return TRUE;
+ case GDK_F6:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Full screen");
+ return TRUE;
- case GDK_F6:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Full screen");
- return TRUE;
+ case GDK_F7:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Increase (zoom in)");
+ return TRUE;
- case GDK_F7:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Increase (zoom in)");
- return TRUE;
+ case GDK_F8:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Decrease (zoom out)");
+ return TRUE;
- case GDK_F8:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Decrease (zoom out)");
- return TRUE;
+ case GDK_Escape:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Cancel/Close");
+ return TRUE;
+ }
- case GDK_Escape:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Cancel/Close");
- return TRUE;
- }
+ return FALSE;
+}
+
+gboolean long_tap(GtkWidget* widget, gpointer data) {
+ gtk_main_quit();
+ return TRUE;
+}
- return FALSE;
+gboolean short_tap(GtkWidget* widget, GdkEventButton* event, gpointer data) {
+ change_unit();
+ return TRUE;
}