Hildonizing..
[speedometer] / callbacks.c
1 /****
2         Speedometer, shows your current speed using GPS
3         Copyright (C) 2008 Wellu Mäkinen <wellu@wellu.org>
4
5         This program is free software: you can redistribute it and/or modify
6         it under the terms of the GNU General Public License as published by
7         the Free Software Foundation, either version 3 of the License, or
8         (at your option) any later version.
9
10         This program is distributed in the hope that it will be useful,
11         but WITHOUT ANY WARRANTY; without even the implied warranty of
12         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13         GNU General Public License for more details.
14
15         You should have received a copy of the GNU General Public License
16         along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 ****/
18
19 #include <gtk/gtk.h>
20
21 #include "callbacks.h"
22
23 void location_changed(LocationGPSDevice* device, gpointer userdata) {
24         g_print ("Latitude: %.2f\nLongitude: %.2f\nAltitude: %.2f\n",
25                  device->fix->latitude, device->fix->longitude, device->fix->altitude);
26 }
27
28
29 /* Callback for hardware keys */
30 gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window) {
31     switch (event->keyval) {
32     case GDK_Up:
33         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Up");
34         return TRUE;
35
36     case GDK_Down:
37         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Down");
38         return TRUE;
39
40     case GDK_Left:
41         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Left");
42         return TRUE;
43
44     case GDK_Right:
45         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Right");
46         return TRUE;
47
48     case GDK_Return:
49         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key select");
50         return TRUE;
51
52     case GDK_F6:
53         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Full screen");
54         return TRUE;
55
56     case GDK_F7:
57         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Increase (zoom in)");
58         return TRUE;
59
60     case GDK_F8:
61         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Decrease (zoom out)");
62         return TRUE;
63
64     case GDK_Escape:
65         hildon_banner_show_information(GTK_WIDGET(window), NULL, "Cancel/Close");
66         return TRUE;
67     }
68
69     return FALSE;
70 }