X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/79ffe90e1f995be8fef4eec2462b94c0296c2ecb..5466f12422c276b9bb6e8f429ceb98fa18c4a21d:/src/datasource_osm.c diff --git a/src/datasource_osm.c b/src/datasource_osm.c index 0ff14853..5ae90054 100644 --- a/src/datasource_osm.c +++ b/src/datasource_osm.c @@ -2,6 +2,7 @@ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager * * Copyright (C) 2011, Guilhem Bonnefille + * Copyright (C) 2015, Rob Norris * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -45,13 +46,13 @@ static gdouble last_page_number = 0; static gpointer datasource_osm_init ( acq_vik_t *avt ); static void datasource_osm_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data ); -static void datasource_osm_get_cmd_string ( datasource_osm_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options ); +static void datasource_osm_get_process_options ( datasource_osm_widgets_t *widgets, ProcessOptions *po, DownloadMapOptions *options, const gchar *notused1, const gchar *notused2); static void datasource_osm_cleanup ( gpointer data ); VikDataSourceInterface vik_datasource_osm_interface = { N_("OSM traces"), N_("OSM traces"), - VIK_DATASOURCE_ADDTOLAYER, + VIK_DATASOURCE_AUTO_LAYER_MANAGEMENT, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, TRUE, @@ -59,12 +60,18 @@ VikDataSourceInterface vik_datasource_osm_interface = { (VikDataSourceInitFunc) datasource_osm_init, (VikDataSourceCheckExistenceFunc) NULL, (VikDataSourceAddSetupWidgetsFunc) datasource_osm_add_setup_widgets, - (VikDataSourceGetCmdStringFunc) datasource_osm_get_cmd_string, - (VikDataSourceProcessFunc) a_babel_convert_from_url, + (VikDataSourceGetProcessOptionsFunc) datasource_osm_get_process_options, + (VikDataSourceProcessFunc) a_babel_convert_from, (VikDataSourceProgressFunc) NULL, (VikDataSourceAddProgressWidgetsFunc) NULL, (VikDataSourceCleanupFunc) datasource_osm_cleanup, (VikDataSourceOffFunc) NULL, + + NULL, + 0, + NULL, + NULL, + 0 }; static gpointer datasource_osm_init ( acq_vik_t *avt ) @@ -82,12 +89,15 @@ static void datasource_osm_add_setup_widgets ( GtkWidget *dialog, VikViewport *v page_number_label = gtk_label_new (_("Page number:")); widgets->page_number = gtk_spin_button_new_with_range(0, 100, 1); gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->page_number), last_page_number); - gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), page_number_label, FALSE, FALSE, 5 ); - gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), widgets->page_number, FALSE, FALSE, 5 ); + + /* Packing all widgets */ + GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))); + gtk_box_pack_start ( box, page_number_label, FALSE, FALSE, 5 ); + gtk_box_pack_start ( box, widgets->page_number, FALSE, FALSE, 5 ); gtk_widget_show_all(dialog); } -static void datasource_osm_get_cmd_string ( datasource_osm_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options ) +static void datasource_osm_get_process_options ( datasource_osm_widgets_t *widgets, ProcessOptions *po, DownloadMapOptions *options, const gchar *notused1, const gchar *notused2) { int page = 0; gdouble min_lat, max_lat, min_lon, max_lon; @@ -109,9 +119,9 @@ static void datasource_osm_get_cmd_string ( datasource_osm_widgets_t *widgets, g last_page_number = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->page_number)); page = last_page_number; - *cmd = g_strdup_printf( DOWNLOAD_URL_FMT, sminlon, sminlat, smaxlon, smaxlat, page ); - *input_file_type = NULL; - options = NULL; + // NB Download is of GPX type + po->url = g_strdup_printf( DOWNLOAD_URL_FMT, sminlon, sminlat, smaxlon, smaxlat, page ); + options = NULL; // i.e. use the default download settings } static void datasource_osm_cleanup ( gpointer data )