Fix:gtk:Fixed updating bookmarks list when bookmark is added
authorakashihi <akashihi@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 4 Mar 2010 05:07:20 +0000 (05:07 +0000)
committerakashihi <akashihi@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 4 Mar 2010 05:07:20 +0000 (05:07 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2979 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/bookmarks.c
navit/navit/bookmarks.h
navit/navit/gui/gtk/gui_gtk_window.c

index 894ab01..d6bebbd 100644 (file)
@@ -41,7 +41,8 @@ struct bookmarks {
        struct attr *parent;
 };
 
-struct bookmarks *bookmarks_new(struct attr *parent, /*struct attr **attrs,*/struct transformation *trans) {
+struct bookmarks *
+bookmarks_new(struct attr *parent, /*struct attr **attrs,*/struct transformation *trans) {
        struct bookmarks *this_;
 
        this_ = g_new0(struct bookmarks,1);
@@ -55,16 +56,24 @@ struct bookmarks *bookmarks_new(struct attr *parent, /*struct attr **attrs,*/str
        return this_;
 }
 
-void bookmarks_destroy(struct bookmarks *this_) {
+void 
+bookmarks_destroy(struct bookmarks *this_) {
        map_destroy(this_->bookmark);
        g_hash_table_destroy(this_->bookmarks_hash);
        callback_list_destroy(this_->attr_cbl);
        g_free(this_);
 }
 
-struct map* bookmarks_get_map(struct bookmarks *this_) {
+struct map* 
+bookmarks_get_map(struct bookmarks *this_) {
        return this_->bookmark;
 }
+
+void
+bookmarks_add_callback(struct bookmarks *this_, struct callback *cb)
+{
+       callback_list_add(this_->attr_cbl, cb);
+}
 /*
  * bookmarks_get_user_data_directory
  * 
index e33bf22..eb35cbe 100644 (file)
@@ -28,6 +28,7 @@ extern "C" {
 struct bookmarks;
 struct bookmarks *bookmarks_new(struct attr *parent,/* struct attr **attrs,*/ struct transformation *trans);
 void bookmarks_destroy(struct bookmarks *this_);
+void bookmarks_add_callback(struct bookmarks *this_, struct callback *cb);
 void bookmarks_add_bookmark(struct bookmarks *this_, struct pcoord *c, const char *description);
 struct map* bookmarks_get_map(struct bookmarks *this_);
 char* bookmarks_get_destination_file(gboolean create);
index 62a5703..d96fb8c 100644 (file)
@@ -44,6 +44,7 @@
 #include "map.h"
 #include "coord.h"
 #include "event.h"
+#include "bookmarks.h"
 #include "navit_nls.h"
 
 #ifdef USE_HILDON
@@ -652,7 +653,9 @@ gui_gtk_bookmarks_update(struct gui_priv *this)
 static void
 gui_gtk_bookmarks_init(struct gui_priv *this)
 {
-       navit_add_callback(this->nav, callback_new_attr_1(callback_cast(gui_gtk_bookmarks_update), attr_bookmark_map, this));
+       struct attr attr;
+       navit_get_attr(this->nav, attr_bookmarks, &attr, NULL);
+       bookmarks_add_callback(attr.u.bookmarks, callback_new_attr_1(callback_cast(gui_gtk_bookmarks_update), attr_bookmark_map, this));
        gui_gtk_bookmarks_update(this);
 }