struct transformation *transformation;
struct vehicleprofile *vehicleprofile;
struct roadprofile *roadprofile;
+ struct bookmarks *bookmarks;
struct range {
short min, max;
} range;
ATTR(vehicle)
ATTR(map)
ATTR(bookmark_map)
+ATTR(bookmarks)
ATTR(former_destination_map)
ATTR(graphics)
ATTR(gui)
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);
}
}
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);
}
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));
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;
return 0;
}
-struct bookmarks*
-navit_get_bookmarks(struct navit *this_) {
- return this_->bookmarks;
-}
-
int
navit_block(struct navit *this_, int block)
{
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
static void
popup_set_bookmark(struct navit *nav, struct pcoord *pc)
{
+ struct attr attr;
struct coord c;
struct coord_geo g;
char buffer[1024];
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);
+ }
}