Diff of /trunk/src/map-tool.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 243 by harbaum, Mon Dec 14 20:07:54 2009 UTC revision 255 by harbaum, Tue Feb 9 19:25:36 2010 UTC
# Line 290  static void map_setup(map_context_t *con Line 290  static void map_setup(map_context_t *con
290    
291        /* clear all existing cache images */        /* clear all existing cache images */
292        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
       memset(context->caches_displayed, 0,  
              (cache_num+1) * sizeof(cache_display_t));  
293    
294        /* draw search results and all other gpx files are semi-transparent */        if(context->caches_displayed) {
295        map_draw_gpx(context->appdata, context->caches_displayed,          memset(context->caches_displayed, 0,
296                     context->widget, context->appdata->search_results,                 (cache_num+1) * sizeof(cache_display_t));
                    NULL, FALSE);  
297    
298        gpx_t *gpx = context->appdata->gpx;          /* draw search results and all other gpx files are semi-transparent */
       while(gpx) {  
299          map_draw_gpx(context->appdata, context->caches_displayed,          map_draw_gpx(context->appdata, context->caches_displayed,
300                       context->widget, gpx, NULL, TRUE);                       context->widget, context->appdata->search_results,
301                         NULL, FALSE);
302    
303          gpx = gpx->next;          gpx_t *gpx = context->appdata->gpx;
304        }          while(gpx) {
305              map_draw_gpx(context->appdata, context->caches_displayed,
306                           context->widget, gpx, NULL, TRUE);
307    
308              gpx = gpx->next;
309            }
310          }
311        name = g_strdup(_("Search results"));        name = g_strdup(_("Search results"));
312        context->state = MAP_SEARCH;        context->state = MAP_SEARCH;
313      }      }
# Line 324  static void map_setup(map_context_t *con Line 326  static void map_setup(map_context_t *con
326    
327        /* clear all existing cache images */        /* clear all existing cache images */
328        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
329        memset(context->caches_displayed, 0,        if(context->caches_displayed) {
330               (cache_num+1) * sizeof(cache_display_t));          memset(context->caches_displayed, 0,
331                   (cache_num+1) * sizeof(cache_display_t));
332        /* draw all geocaches and none is semi-transparent */  
333        gpx_t *gpx = context->appdata->gpx;          /* draw all geocaches and none is semi-transparent */
334        while(gpx) {          gpx_t *gpx = context->appdata->gpx;
335          map_draw_gpx(context->appdata, context->caches_displayed,          while(gpx) {
336                       context->widget, gpx, NULL, FALSE);            map_draw_gpx(context->appdata, context->caches_displayed,
337          gpx = gpx->next;                         context->widget, gpx, NULL, FALSE);
338        }            gpx = gpx->next;
339            }
340        {  
341          int i=0;          {
342          while(context->caches_displayed[i].id) i++;            int i=0;
343          printf("number of caches actually displayed: %d\n", i);            while(context->caches_displayed[i].id) i++;
344              printf("number of caches actually displayed: %d\n", i);
345            }
346        }        }
   
347        name = g_strdup(_("all"));        name = g_strdup(_("all"));
348        context->state = MAP_ALL;        context->state = MAP_ALL;
349      }      }
# Line 359  static void map_setup(map_context_t *con Line 362  static void map_setup(map_context_t *con
362    
363        /* clear all existing cache images */        /* clear all existing cache images */
364        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
365        memset(context->caches_displayed, 0,        if(context->caches_displayed) {
366               (cache_num+1) * sizeof(cache_display_t));          memset(context->caches_displayed, 0,
367                   (cache_num+1) * sizeof(cache_display_t));
368        /* draw all geocaches and all other gpx files are semi-transparent */  
369        map_draw_gpx(context->appdata, context->caches_displayed,          /* draw all geocaches and all other gpx files are semi-transparent */
370                     context->widget, context->appdata->cur_gpx, NULL, FALSE);          map_draw_gpx(context->appdata, context->caches_displayed,
371                         context->widget, context->appdata->cur_gpx, NULL, FALSE);
372        gpx_t *gpx = context->appdata->gpx;  
373        while(gpx) {          gpx_t *gpx = context->appdata->gpx;
374          if(gpx != context->appdata->cur_gpx)          while(gpx) {
375            map_draw_gpx(context->appdata, context->caches_displayed,            if(gpx != context->appdata->cur_gpx)
376                         context->widget, gpx, NULL, TRUE);              map_draw_gpx(context->appdata, context->caches_displayed,
377                             context->widget, gpx, NULL, TRUE);
378          gpx = gpx->next;  
379              gpx = gpx->next;
380            }
381        }        }
382    
383        name = g_strdup(context->appdata->cur_gpx->name);        name = g_strdup(context->appdata->cur_gpx->name);
# Line 389  static void map_setup(map_context_t *con Line 394  static void map_setup(map_context_t *con
394    
395      /* clear all existing ccahe images */      /* clear all existing ccahe images */
396      osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));      osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
397      memset(context->caches_displayed, 0,      if(context->caches_displayed) {
398             (cache_num+1) * sizeof(cache_display_t));        memset(context->caches_displayed, 0,
399                 (cache_num+1) * sizeof(cache_display_t));
400      /* Make sure we really work on the first copy in the list as */  
401      /* only this is being used if duplicates exist */        /* Make sure we really work on the first copy in the list as */
402      cache = cache_search_first(context->appdata->gpx, cache);        /* only this is being used if duplicates exist */
403          cache = cache_search_first(context->appdata->gpx, cache);
404      /* draw all geocaches and all but selected one are semi-transparent */  
405      gpx_t *gpx = context->appdata->gpx;        /* draw all geocaches and all but selected one are semi-transparent */
406      while(gpx) {        gpx_t *gpx = context->appdata->gpx;
407        map_draw_gpx(context->appdata, context->caches_displayed,        while(gpx) {
408                     context->widget, gpx, cache, FALSE);          map_draw_gpx(context->appdata, context->caches_displayed,
409        gpx = gpx->next;                       context->widget, gpx, cache, FALSE);
410            gpx = gpx->next;
411          }
412      }      }
413    
414      name = g_strdup(cache->name);      name = g_strdup(cache->name);
# Line 484  static cache_t *map_closest(map_context_ Line 491  static cache_t *map_closest(map_context_
491      result = context->appdata->cur_cache;      result = context->appdata->cur_cache;
492    
493    /* make sure this is the first hit */    /* make sure this is the first hit */
494    result = cache_search_first(context->appdata->gpx, result);    if(context->caches_displayed)
495        result = cache_search_first(context->appdata->gpx, result);
496    
497    return result;    return result;
498  }  }

Legend:
Removed from v.243  
changed lines
  Added in v.255