From 99837e86994a40469b1650bb597c4594d97f1def Mon Sep 17 00:00:00 2001 From: akashihi Date: Thu, 4 Mar 2010 04:21:00 +0000 Subject: [PATCH] Fix:core:Replaced navit_get_bookmarks() with bookmarks attribute git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2978 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/attr.h | 1 + navit/navit/attr_def.h | 1 + navit/navit/gui/gtk/destination.c | 4 +++- navit/navit/gui/gtk/gui_gtk_window.c | 4 +++- navit/navit/gui/internal/gui_internal.c | 7 +++++-- navit/navit/navit.c | 8 +++----- navit/navit/navit.h | 1 - navit/navit/popup.c | 7 +++++-- 8 files changed, 21 insertions(+), 12 deletions(-) diff --git a/navit/navit/attr.h b/navit/navit/attr.h index b433fe8..097b50b 100644 --- a/navit/navit/attr.h +++ b/navit/navit/attr.h @@ -132,6 +132,7 @@ struct attr { struct transformation *transformation; struct vehicleprofile *vehicleprofile; struct roadprofile *roadprofile; + struct bookmarks *bookmarks; struct range { short min, max; } range; diff --git a/navit/navit/attr_def.h b/navit/navit/attr_def.h index 1f2a8fb..e669d98 100644 --- a/navit/navit/attr_def.h +++ b/navit/navit/attr_def.h @@ -321,6 +321,7 @@ ATTR(navigation) ATTR(vehicle) ATTR(map) ATTR(bookmark_map) +ATTR(bookmarks) ATTR(former_destination_map) ATTR(graphics) ATTR(gui) diff --git a/navit/navit/gui/gtk/destination.c b/navit/navit/gui/gtk/destination.c index 652db31..ce7d6cf 100644 --- a/navit/navit/gui/gtk/destination.c +++ b/navit/navit/gui/gtk/destination.c @@ -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); } } diff --git a/navit/navit/gui/gtk/gui_gtk_window.c b/navit/navit/gui/gtk/gui_gtk_window.c index 095aac2..62a5703 100644 --- a/navit/navit/gui/gtk/gui_gtk_window.c +++ b/navit/navit/gui/gtk/gui_gtk_window.c @@ -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); } diff --git a/navit/navit/gui/internal/gui_internal.c b/navit/navit/gui/internal/gui_internal.c index dc566e8..9499fd0 100644 --- a/navit/navit/gui/internal/gui_internal.c +++ b/navit/navit/gui/internal/gui_internal.c @@ -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)); diff --git a/navit/navit/navit.c b/navit/navit/navit.c index 6ea83f4..0140127 100644 --- a/navit/navit/navit.c +++ b/navit/navit/navit.c @@ -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) { diff --git a/navit/navit/navit.h b/navit/navit/navit.h index 7e85dee..27d7cc6 100644 --- a/navit/navit/navit.h +++ b/navit/navit/navit.h @@ -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 diff --git a/navit/navit/popup.c b/navit/navit/popup.c index 6c0c352..fa3d0d8 100644 --- a/navit/navit/popup.c +++ b/navit/navit/popup.c @@ -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); + } } -- 2.7.4