* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
+#ifdef HAVE_MATH_H
#include <math.h>
+#endif
+
#include "globals.h"
#include "coords.h"
#include "vikcoord.h"
static gboolean expedia_coord_to_mapcoord ( const VikCoord *src, gdouble xzoom, gdouble yzoom, MapCoord *dest );
static void expedia_mapcoord_to_center_coord ( MapCoord *src, VikCoord *dest );
-static int expedia_download ( MapCoord *src, const gchar *dest_fn );
+static int expedia_download ( MapCoord *src, const gchar *dest_fn, void *handle );
+static void * expedia_handle_init ( );
+static void expedia_handle_cleanup ( void *handle );
-static DownloadOptions expedia_options = { 0, NULL };
+static DownloadMapOptions expedia_options = { FALSE, FALSE, NULL, 2, a_check_map_file };
void expedia_init() {
- VikMapsLayer_MapType map_type = { 5, 0, 0, VIK_VIEWPORT_DRAWMODE_EXPEDIA, expedia_coord_to_mapcoord, expedia_mapcoord_to_center_coord, expedia_download };
- maps_layer_register_type("Expedia Street Maps", 5, &map_type);
+ VikMapsLayer_MapType map_type = { 5, 0, 0, VIK_VIEWPORT_DRAWMODE_EXPEDIA, expedia_coord_to_mapcoord, expedia_mapcoord_to_center_coord, expedia_download, expedia_handle_init, expedia_handle_cleanup };
+ maps_layer_register_type(_("Expedia Street Maps"), 5, &map_type);
}
#define EXPEDIA_SITE "expedia.com"
if ( expedia_altis[i] == alti )
return expedia_altis_degree_freq [ i ];
- g_error ( "Invalid expedia altitude" );
+ g_error ( _("Invalid expedia altitude") );
return 0;
}
old = gdk_pixbuf_new_from_file ( file, &gx );
if (gx)
{
- g_warning ( "Couldn't open EXPEDIA image file (right after successful download! Please report and delete image file!): %s", gx->message );
+ g_warning ( _("Couldn't open EXPEDIA image file (right after successful download! Please report and delete image file!): %s"), gx->message );
g_error_free ( gx );
return;
}
cropped = gdk_pixbuf_new_subpixbuf ( old, WIDTH_BUFFER, HEIGHT_BUFFER,
width - 2*WIDTH_BUFFER, height - 2*HEIGHT_BUFFER );
- gdk_pixbuf_save ( cropped, file, "png", NULL, NULL, &gx );
+ gdk_pixbuf_save ( cropped, file, "png", &gx, NULL );
if ( gx ) {
- g_warning ( "Couldn't save EXPEDIA image file (right after successful download! Please report and delete image file!): %s", gx->message );
+ g_warning ( _("Couldn't save EXPEDIA image file (right after successful download! Please report and delete image file!): %s"), gx->message );
g_error_free ( gx );
}
dest->north_south = (((gdouble)src->y) / expedia_altis_freq(src->scale)) - 90;
}
-static int expedia_download ( MapCoord *src, const gchar *dest_fn )
+static int expedia_download ( MapCoord *src, const gchar *dest_fn, void *handle )
{
gint height, width;
struct LatLon ll;
uri = g_strdup_printf ( "/pub/agent.dll?qscr=mrdt&ID=3XNsF.&CenP=%lf,%lf&Lang=%s&Alti=%d&Size=%d,%d&Offs=0.000000,0.000000&BCheck&tpid=1",
ll.lat, ll.lon, (ll.lon > -30) ? "EUR0809" : "USA0409", src->scale, width, height );
- if ((res = a_http_download_get_url ( "expedia.com", uri, dest_fn, &expedia_options )) == 0) /* All OK */
+ if ((res = a_http_download_get_url ( EXPEDIA_SITE, uri, dest_fn, &expedia_options, NULL )) == 0) /* All OK */
expedia_snip ( dest_fn );
+ g_free(uri);
return(res);
}
+static void * expedia_handle_init ( )
+{
+ // Not much going on here
+ return 0;
+}
+static void expedia_handle_cleanup ( void *handle )
+{
+ // Even less here!
+}