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

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

revision 132 by harbaum, Wed Sep 30 12:11:22 2009 UTC revision 133 by harbaum, Mon Oct 12 20:27:55 2009 UTC
# Line 438  on_map_button_release_event(GtkWidget *w Line 438  on_map_button_release_event(GtkWidget *w
438                              GdkEventButton *event, map_context_t *context) {                              GdkEventButton *event, map_context_t *context) {
439    OsmGpsMap *map = OSM_GPS_MAP(context->widget);    OsmGpsMap *map = OSM_GPS_MAP(context->widget);
440    
441    if(context->press_on) {    /* in "MAP_CACHE" state only one cache is visible */
442      /* and the map is in navigation mode. the balloon is */
443      /* pretty useless there */
444      if(context->press_on && (context->state != MAP_CACHE)) {
445    
446      coord_t coo;      coord_t coo;
447      coo = osm_gps_map_get_co_ordinates(map, event->x, event->y);      coo = osm_gps_map_get_co_ordinates(map, event->x, event->y);
448    
# Line 454  on_map_button_release_event(GtkWidget *w Line 458  on_map_button_release_event(GtkWidget *w
458    
459          osm_gps_map_osd_draw_balloon(map, cpos.lat, cpos.lon,          osm_gps_map_osd_draw_balloon(map, cpos.lat, cpos.lon,
460                                       balloon_draw_cb, nearest);                                       balloon_draw_cb, nearest);
   
         osm_gps_map_osd_draw_nav (map, cpos.lat, cpos.lon, nearest->name);  
   
461        }        }
462      }      }
463      context->press_on = NULL;      context->press_on = NULL;
# Line 529  static void map_setup(map_context_t *con Line 530  static void map_setup(map_context_t *con
530      if(context->state != MAP_ALL) {      if(context->state != MAP_ALL) {
531        printf("map_setp(ALL)\n");        printf("map_setp(ALL)\n");
532    
533          /* no navigation in this mode */
534          osm_gps_map_osd_clear_nav (OSM_GPS_MAP(context->widget));
535    
536        /* clear all existing ccahe images */        /* clear all existing ccahe images */
537        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
538    
# Line 545  static void map_setup(map_context_t *con Line 549  static void map_setup(map_context_t *con
549      if(context->state != MAP_GPX) {      if(context->state != MAP_GPX) {
550        printf("map_setp(GPX)\n");        printf("map_setp(GPX)\n");
551    
552          /* no navigation in this mode */
553          osm_gps_map_osd_clear_nav (OSM_GPS_MAP(context->widget));
554    
555        /* clear all existing ccahe images */        /* clear all existing ccahe images */
556        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
557    
# Line 554  static void map_setup(map_context_t *con Line 561  static void map_setup(map_context_t *con
561        context->state = MAP_GPX;        context->state = MAP_GPX;
562      }      }
563    } else {    } else {
564      if(context->state != MAP_CACHE) {      cache_t *cache = context->appdata->cur_cache;
565        printf("map_setp(CACHE)\n");  
566        printf("map_setp(CACHE)\n");
567        /* clear all existing ccahe images */  
568        osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));      /* no balloons in this mode */
569        osm_gps_map_osd_clear_balloon (OSM_GPS_MAP(context->widget));
570        map_draw_cache(context->widget, context->appdata->cur_cache);  
571        name = g_strdup(context->appdata->cur_cache->name);      /* clear all existing ccahe images */
572        context->state = MAP_CACHE;      osm_gps_map_clear_images (OSM_GPS_MAP(context->widget));
573      }  
574        map_draw_cache(context->widget, cache);
575        name = g_strdup(cache->name);
576        context->state = MAP_CACHE;
577    
578        /* navigation in this mode! */
579        pos_t cpos = gpx_cache_pos(cache);
580        osm_gps_map_osd_draw_nav (OSM_GPS_MAP(context->widget),
581                                  context->appdata->imperial,
582                                  cpos.lat, cpos.lon, cache->name);
583    }    }
584    
585    if(name) {    if(name) {
# Line 577  static void map_setup(map_context_t *con Line 593  static void map_setup(map_context_t *con
593      printf("map_setup(keep)\n");      printf("map_setup(keep)\n");
594  }  }
595    
 #ifdef USE_MAEMO  
596  /* on maemo a window is either on top or completely invisible. this means that */  /* on maemo a window is either on top or completely invisible. this means that */
597  /* we only need to update the map window if its raised. on ordinary desktops this */  /* we only need to update the map window if its raised. on ordinary desktops this */
598  /* is different and we always update */  /* is different and we always update */
599  static gboolean on_focus_in(GtkWidget *widget, GdkEventFocus *event,  static gboolean on_focus_in(GtkWidget *widget, GdkEventFocus *event,
600                           gpointer data) {                           gpointer data) {
601      printf("map got focus\n");
602    map_setup((map_context_t*)data);    map_setup((map_context_t*)data);
603    return FALSE;    return FALSE;
604  }  }
 #endif  
605    
606  void map_update(appdata_t *appdata) {  void map_update(appdata_t *appdata) {
607  #ifndef USE_MAEMO  #ifndef USE_MAEMO
# Line 675  void map(appdata_t *appdata) { Line 689  void map(appdata_t *appdata) {
689    gtk_window_set_default_size(GTK_WINDOW(context->window), 640, 480);    gtk_window_set_default_size(GTK_WINDOW(context->window), 640, 480);
690  #endif  #endif
691    
 #ifdef USE_MAEMO  
692    g_signal_connect(G_OBJECT(context->widget), "focus-in-event",    g_signal_connect(G_OBJECT(context->widget), "focus-in-event",
693                     G_CALLBACK(on_focus_in), context);                     G_CALLBACK(on_focus_in), context);
 #endif  
694    
695    g_signal_connect(G_OBJECT(context->widget), "configure-event",    g_signal_connect(G_OBJECT(context->widget), "configure-event",
696                     G_CALLBACK(on_map_configure), context);                     G_CALLBACK(on_map_configure), context);

Legend:
Removed from v.132  
changed lines
  Added in v.133