Diff of /trunk/src/notes.c

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

revision 220 by harbaum, Mon Nov 23 20:12:22 2009 UTC revision 221 by harbaum, Mon Nov 30 21:28:04 2009 UTC
# Line 198  static int notes_write_file(cache_contex Line 198  static int notes_write_file(cache_contex
198                        char *text, pos_t pos,                        char *text, pos_t pos,
199                        gboolean override, gboolean found,                        gboolean override, gboolean found,
200                        time_t ftime, gboolean logged) {                        time_t ftime, gboolean logged) {
201    
202      g_assert(context);
203      g_assert(context->cache);
204    
205      printf("write\n");
206    
207    /* build local path */    /* build local path */
208    int path_len = strlen(context->appdata->image_path) +    int path_len = strlen(context->appdata->image_path) +
209      2 * strlen(context->cache->id) + 6;      2 * strlen(context->cache->id) + 6;
210      printf("plen = %d\n", path_len);
211    
212    char *path = malloc(path_len);    char *path = malloc(path_len);
213    snprintf(path, path_len, "%s%s/%s.gpx",    snprintf(path, path_len, "%s%s/%s.gpx",
214             context->appdata->image_path,             context->appdata->image_path,
# Line 212  static int notes_write_file(cache_contex Line 220  static int notes_write_file(cache_contex
220      return -1;      return -1;
221    }    }
222    
223      printf("still al\n");
224    
225    LIBXML_TEST_VERSION;    LIBXML_TEST_VERSION;
226    
227    xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");    xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");
# Line 283  static void notes_save(cache_context_t * Line 293  static void notes_save(cache_context_t *
293                                            &start, &end, FALSE);                                            &start, &end, FALSE);
294    
295      pos_t pos;      pos_t pos;
296      pos.lat = lat_get(context->notes.latw);      pos.lat = lat_entry_get(context->notes.latw);
297      pos.lon = lon_get(context->notes.lonw);      pos.lon = lon_entry_get(context->notes.lonw);
298    
299      gboolean override =      gboolean override =
300        check_button_get_active(context->notes.overridew);        check_button_get_active(context->notes.overridew);
# Line 293  static void notes_save(cache_context_t * Line 303  static void notes_save(cache_context_t *
303      gboolean logged =      gboolean logged =
304        check_button_get_active(context->notes.loggedw);        check_button_get_active(context->notes.loggedw);
305    
306      /* required accuracy is 1/60000 degree */      if(pos_differ(&pos, &context->cache->pos))
307      if(((int)(pos.lat * 60000 + .5) !=        printf("position is modified\n");
         (int)(context->cache->pos.lat * 60000 + .5)) ||  
        ((int)(pos.lon * 60000 + .5) !=  
         (int)(context->cache->pos.lon * 60000 + .5)))  
       printf("position is modified %f != %f / %f != %f\n",  
              pos.lat * 60000 + .5, context->cache->pos.lat * 60000 + .5,  
              pos.lon * 60000 + .5, context->cache->pos.lon * 60000 + .5);  
308      if(override || found)      if(override || found)
309        printf("flags are set\n");        printf("flags are set\n");
310      if(strlen(text))      if(strlen(text))
311        printf("text is present\n");        printf("text is present\n");
312    
313      /* check if the notes are empty */      /* check if the notes are empty */
314      if(((int)(pos.lat * 60000 + .5) ==      if(!pos_differ(&pos, &context->cache->pos) &&
         (int)(context->cache->pos.lat * 60000 + .5)) &&  
        ((int)(pos.lon * 60000 + .5) ==  
         (int)(context->cache->pos.lon * 60000 + .5)) &&  
315         !override && !found && !logged && (strlen(text) == 0)) {         !override && !found && !logged && (strlen(text) == 0)) {
316        printf("notes are in default state, removing them if present\n");        printf("notes are in default state, removing them if present\n");
317    
# Line 363  static void notes_save(cache_context_t * Line 364  static void notes_save(cache_context_t *
364        /* we have to do two things here: */        /* we have to do two things here: */
365        /* - update the notes.xml file on disk */        /* - update the notes.xml file on disk */
366        /* - update the notes entry in the loaded gpx tree */        /* - update the notes entry in the loaded gpx tree */
367    
368        /* update file on disk */        /* update file on disk */
369        notes_write_file(context, text, pos, override, found,        notes_write_file(context, text, pos, override, found,
370                         context->notes.ftime, logged);                         context->notes.ftime, logged);
371    
372        /* search for matching caches and replace note there */        /* search for matching caches and replace note there */
373        notes_t *note = NULL;        notes_t *note = NULL;
374        gpx_t *gpx = context->appdata->gpx;        gpx_t *gpx = context->appdata->gpx;
# Line 762  void notes_free(notes_t *notes) { Line 763  void notes_free(notes_t *notes) {
763  pos_t notes_get_pos(cache_context_t *context) {  pos_t notes_get_pos(cache_context_t *context) {
764    pos_t pos = context->cache->pos;    pos_t pos = context->cache->pos;
765    if(check_button_get_active(context->notes.overridew)) {    if(check_button_get_active(context->notes.overridew)) {
766      pos.lat = lat_get(context->notes.latw);      pos.lat = lat_entry_get(context->notes.latw);
767      pos.lon = lon_get(context->notes.lonw);      pos.lon = lon_entry_get(context->notes.lonw);
768    }    }
769    return pos;    return pos;
770  }  }

Legend:
Removed from v.220  
changed lines
  Added in v.221