r3320 - in trunk/src/target/OM-2007.2/applications/openmoko-worldclock2: . src
chris at sita.openmoko.org
chris at sita.openmoko.org
Thu Nov 1 17:21:19 CET 2007
Author: chris
Date: 2007-11-01 17:21:18 +0100 (Thu, 01 Nov 2007)
New Revision: 3320
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
Log:
* src/worldclock-main.c: (map_button_press_event_cb), (main):
Use a static map and add code to find the nearest timezone to where the
user clicks
Modified: trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog 2007-11-01 12:34:11 UTC (rev 3319)
+++ trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog 2007-11-01 16:21:18 UTC (rev 3320)
@@ -1,3 +1,9 @@
+2007-11-01 Chris Lord <chris at openedhand.com>
+
+ * src/worldclock-main.c: (map_button_press_event_cb), (main):
+ Use a static map and add code to find the nearest timezone to where the
+ user clicks
+
2007-10-31 Chris Lord <chris at openedhand.com>
* configure.ac:
Modified: trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c 2007-11-01 12:34:11 UTC (rev 3319)
+++ trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c 2007-11-01 16:21:18 UTC (rev 3320)
@@ -24,6 +24,7 @@
#include <libmokoui2/moko-finger-scroll.h>
#include <time.h>
#include <sys/time.h>
+#include <math.h>
#include "worldclock-data.h"
#define GCONF_POKY_INTERFACE_PREFIX "/desktop/poky/interface"
@@ -268,11 +269,36 @@
map_button_press_event_cb (JanaGtkWorldMap *map, GdkEventButton *event,
WorldClockData *data)
{
- gdouble lat, lon;
+ GList *markers, *m;
+ gdouble lat, lon, old_distance;
+ JanaGtkWorldMapMarker *marker;
jana_gtk_world_map_get_latlon (map, event->x, event->y, &lat, &lon);
- g_message ("Map clicked at latitude, longitude: %lg, %lg", lat, lon);
+ markers = jana_gtk_world_map_get_markers (map);
+ marker = NULL;
+ old_distance = G_MAXDOUBLE;
+ for (m = markers; m; m = m->next) {
+ gdouble distance;
+ JanaGtkWorldMapMarker *marker2 =
+ (JanaGtkWorldMapMarker *)m->data;
+
+ distance = sqrt (pow (marker2->lat - lat, 2) +
+ pow (marker2->lon - lon, 2));
+ if (distance < old_distance) {
+ marker = marker2;
+ old_distance = distance;
+ }
+ }
+
+ if (marker) {
+ WorldClockZoneData *tzdata = (WorldClockZoneData *)
+ g_object_get_data (G_OBJECT (marker), "zone");
+ g_debug ("Nearest location: %s", tzdata->name);
+ }
+
+ g_list_free (markers);
+
return FALSE;
}
@@ -320,6 +346,9 @@
/* Create scrolling map */
data.map = jana_gtk_world_map_new ();
+ jana_gtk_world_map_set_width (JANA_GTK_WORLD_MAP (data.map), 2048);
+ jana_gtk_world_map_set_height (JANA_GTK_WORLD_MAP (data.map), 1024);
+ jana_gtk_world_map_set_static (JANA_GTK_WORLD_MAP (data.map), TRUE);
add_marks (&data);
gtk_widget_add_events (GTK_WIDGET (data.map), GDK_BUTTON_PRESS_MASK);
g_signal_connect (data.map, "button-press-event",
More information about the commitlog
mailing list