Fix:core:Replaced navit_get_bookmarks() with bookmarks attribute
authorakashihi <akashihi@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 4 Mar 2010 04:21:00 +0000 (04:21 +0000)
committerakashihi <akashihi@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 4 Mar 2010 04:21:00 +0000 (04:21 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2978 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/attr.h
navit/navit/attr_def.h
navit/navit/gui/gtk/destination.c
navit/navit/gui/gtk/gui_gtk_window.c
navit/navit/gui/internal/gui_internal.c
navit/navit/navit.c
navit/navit/navit.h
navit/navit/popup.c

index b433fe8..097b50b 100644 (file)
@@ -132,6 +132,7 @@ struct attr {
                struct transformation *transformation;
                struct vehicleprofile *vehicleprofile;
                struct roadprofile *roadprofile;
+               struct bookmarks *bookmarks;
                struct range {
                        short min, max;
                } range;
index 1f2a8fb..e669d98 100644 (file)
@@ -321,6 +321,7 @@ ATTR(navigation)
 ATTR(vehicle)
 ATTR(map)
 ATTR(bookmark_map)
+ATTR(bookmarks)
 ATTR(former_destination_map)
 ATTR(graphics)
 ATTR(gui)
index 652db31..ce7d6cf 100644 (file)
@@ -112,13 +112,15 @@ static void button_bookmark(GtkWidget *widget, struct search_param *search)
        struct pcoord *c=NULL;
        GtkTreeIter iter;
        char *desc;
+       struct attr attr;
 
        if (!gtk_tree_model_get_iter_first (GTK_TREE_MODEL (search->liststore2), &iter))
                return;
        gtk_tree_model_get (GTK_TREE_MODEL (search->liststore2), &iter, COL_COUNT, &c, -1);
        if (c) {
+               navit_get_attr(search->nav, attr_bookmarks, &attr, NULL);
                desc=description(search, &iter);
-               bookmarks_add_bookmark(navit_get_bookmarks(search->nav), c, desc);
+               bookmarks_add_bookmark(attr.u.bookmarks, c, desc);
                g_free(desc);
        }
 }
index 095aac2..62a5703 100644 (file)
@@ -221,7 +221,9 @@ gui_gtk_set_graphics(struct gui_priv *this, struct graphics *gra)
 static void
 gui_gtk_add_bookmark_do(struct gui_priv *gui)
 {
-       bookmarks_add_bookmark(navit_get_bookmarks(gui->nav), &gui->dialog_coord, gtk_entry_get_text(GTK_ENTRY(gui->dialog_entry)));
+       struct attr attr;
+       navit_get_attr(gui->nav, attr_bookmarks, &attr, NULL);
+       bookmarks_add_bookmark(attr.u.bookmarks, &gui->dialog_coord, gtk_entry_get_text(GTK_ENTRY(gui->dialog_entry)));
        gtk_widget_destroy(gui->dialog_win);
 }
 
index dc566e8..9499fd0 100644 (file)
@@ -1869,9 +1869,12 @@ static void
 gui_internal_cmd_add_bookmark_do(struct gui_priv *this, struct widget *widget)
 {
        GList *l;
+       struct attr attr;
        dbg(0,"text='%s'\n", widget->text);
-       if (widget->text && strlen(widget->text))
-               bookmarks_add_bookmark(navit_get_bookmarks(this->nav), &widget->c, widget->text);
+       if (widget->text && strlen(widget->text)){
+               navit_get_attr(this->nav, attr_bookmarks, &attr, NULL);
+               bookmarks_add_bookmark(attr.u.bookmarks, &widget->c, widget->text);
+       }
        g_free(widget->text);
        widget->text=NULL;
        l=g_list_previous(g_list_last(this->root.children));
index 6ea83f4..0140127 100644 (file)
@@ -1664,6 +1664,9 @@ navit_get_attr(struct navit *this_, enum attr_type type, struct attr *attr, stru
        case attr_bookmark_map:
                attr->u.map=bookmarks_get_map(this_->bookmarks);
                break;
+       case attr_bookmarks:
+               attr->u.bookmarks=this_->bookmarks;
+               break;
        case attr_callback_list:
                attr->u.callback_list=this_->attr_cbl;
                break;
@@ -2244,11 +2247,6 @@ navit_set_layout_by_name(struct navit *n,char *name)
     return 0;
 }
 
-struct bookmarks* 
-navit_get_bookmarks(struct navit *this_) {
-       return this_->bookmarks;
-}
-
 int
 navit_block(struct navit *this_, int block)
 {
index 7e85dee..27d7cc6 100644 (file)
@@ -99,7 +99,6 @@ struct displaylist *navit_get_displaylist(struct navit *this_);
 int navit_block(struct navit *this_, int block);
 void navit_layout_switch(struct navit *n);
 int navit_set_layout_by_name(struct navit *n, char* name);
-struct bookmarks* navit_get_bookmarks(struct navit *this_);
 void navit_destroy(struct navit *this_);
 /* end of prototypes */
 #ifdef __cplusplus
index 6c0c352..fa3d0d8 100644 (file)
@@ -117,6 +117,7 @@ popup_set_destination(struct navit *nav, struct pcoord *pc)
 static void
 popup_set_bookmark(struct navit *nav, struct pcoord *pc)
 {
+    struct attr attr;
        struct coord c;
        struct coord_geo g;
        char buffer[1024];
@@ -126,8 +127,10 @@ popup_set_bookmark(struct navit *nav, struct pcoord *pc)
        transform_to_geo(pc->pro, &c, &g);
        coord_format(g.lat,g.lng,DEGREES_MINUTES_SECONDS,buffer_geo,sizeof(buffer_geo));
        sprintf(buffer,"Map Point %s", buffer_geo);
-       if (!gui_add_bookmark(navit_get_gui(nav), pc, buffer)) 
-               bookmarks_add_bookmark(navit_get_bookmarks(nav), pc, buffer);
+       if (!gui_add_bookmark(navit_get_gui(nav), pc, buffer)) {
+        navit_get_attr(nav, attr_bookmarks, &attr, NULL);
+               bookmarks_add_bookmark(attr.u.bookmarks, pc, buffer);
+    }
 }