diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | lib/ephy-types.h | 2 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks.c | 26 |
3 files changed, 30 insertions, 10 deletions
@@ -1,5 +1,17 @@ 2003-07-07 Marco Pesenti Gritti <marco@it.gnome.org> + * lib/ephy-types.h: + + Remove unused define. + + * src/bookmarks/ephy-bookmarks.c: (ephy_bookmarks_save_delayed), + (bookmarks_changed_cb), (bookmarks_removed_cb), + (ephy_bookmarks_add): + + Save added bookmarks on idle, otherwise importing is too slow. + +2003-07-07 Marco Pesenti Gritti <marco@it.gnome.org> + * lib/widgets/ephy-autocompletion-window.c: (ephy_autocompletion_window_key_press_cb): diff --git a/lib/ephy-types.h b/lib/ephy-types.h index d0fccafa7..70ce681e0 100644 --- a/lib/ephy-types.h +++ b/lib/ephy-types.h @@ -30,8 +30,6 @@ typedef enum G_NOT_IMPLEMENTED } gresult; -#define EPHY_NODE_RESERVED_IDS 100 - G_END_DECLS #endif diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c index 7d35dc9e2..d38bd6ed1 100644 --- a/src/bookmarks/ephy-bookmarks.c +++ b/src/bookmarks/ephy-bookmarks.c @@ -406,15 +406,25 @@ save_bookmarks_delayed (EphyBookmarks *bookmarks) } static void -ephy_bookmarks_set_dirty (EphyBookmarks *bookmarks) +ephy_bookmarks_save_delayed (EphyBookmarks *bookmarks, int delay) { if (!bookmarks->priv->dirty) { bookmarks->priv->dirty = TRUE; - bookmarks->priv->save_timeout_id = - g_timeout_add (BOOKMARKS_SAVE_DELAY, - (GSourceFunc) save_bookmarks_delayed, - bookmarks); + + if (delay > 0) + { + bookmarks->priv->save_timeout_id = + g_timeout_add (BOOKMARKS_SAVE_DELAY, + (GSourceFunc) save_bookmarks_delayed, + bookmarks); + } + else + { + bookmarks->priv->save_timeout_id = + g_idle_add ((GSourceFunc) save_bookmarks_delayed, + bookmarks); + } } } @@ -545,7 +555,7 @@ bookmarks_changed_cb (EphyNode *node, EphyBookmarks *eb) { ephy_bookmarks_emit_data_changed (eb); - ephy_bookmarks_set_dirty (eb); + ephy_bookmarks_save_delayed (eb, BOOKMARKS_SAVE_DELAY); } static void @@ -556,7 +566,7 @@ bookmarks_removed_cb (EphyNode *node, { ephy_bookmarks_emit_data_changed (eb); g_signal_emit (G_OBJECT (eb), ephy_bookmarks_signals[TREE_CHANGED], 0); - ephy_bookmarks_set_dirty (eb); + ephy_bookmarks_save_delayed (eb, BOOKMARKS_SAVE_DELAY); } static char * @@ -832,7 +842,7 @@ ephy_bookmarks_add (EphyBookmarks *eb, ephy_bookmarks_emit_data_changed (eb); g_signal_emit (G_OBJECT (eb), ephy_bookmarks_signals[TREE_CHANGED], 0); - ephy_bookmarks_save (eb); + ephy_bookmarks_save_delayed (eb, 0); return bm; } |