Hiroyuki Ikezoe
ikezo****@users*****
Mon Jan 1 22:22:00 JST 2007
Index: kazehakase/src/bookmarks/kz-session.c diff -u kazehakase/src/bookmarks/kz-session.c:1.4 kazehakase/src/bookmarks/kz-session.c:1.5 --- kazehakase/src/bookmarks/kz-session.c:1.4 Mon Jan 1 21:40:32 2007 +++ kazehakase/src/bookmarks/kz-session.c Mon Jan 1 22:22:00 2007 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Id: kz-session.c,v 1.4 2007/01/01 12:40:32 ikezoe Exp $ + * $Id: kz-session.c,v 1.5 2007/01/01 13:22:00 ikezoe Exp $ */ #include "kz-session.h" @@ -151,6 +151,22 @@ } void +kz_session_freeze (KzSession *session) +{ + KzSessionPrivate *priv = KZ_SESSION_GET_PRIVATE(session); + + priv->frozen = TRUE; +} + +void +kz_session_thaw (KzSession *session) +{ + KzSessionPrivate *priv = KZ_SESSION_GET_PRIVATE(session); + + priv->frozen = FALSE; +} + +void kz_session_set_profile (KzSession *session, KzProfile *profile) { gboolean save_session; @@ -182,7 +198,7 @@ } static void -cb_bookmark_notify (GObject *object, GParamSpec *spec, KzBookmark *session) +save_session (KzBookmark *session) { KzSessionPrivate *priv = KZ_SESSION_GET_PRIVATE(session); @@ -194,11 +210,18 @@ } static void +cb_bookmark_notify (GObject *object, GParamSpec *spec, KzBookmark *session) +{ + save_session(session); +} + +static void cb_insert_child (KzBookmark *folder, KzBookmark *child, KzBookmark *sibling, KzBookmark *session) { g_signal_connect_after(child, "notify", G_CALLBACK(cb_bookmark_notify), session); + save_session(session); } static void @@ -207,18 +230,13 @@ g_signal_handlers_disconnect_by_func (child, G_CALLBACK(cb_bookmark_notify), session); + save_session(session); } static void cb_tab_notify (GObject *object, GParamSpec *spec, KzBookmark *session) { - KzSessionPrivate *priv = KZ_SESSION_GET_PRIVATE(session); - - if (priv->frozen) - return; - - if (priv->auto_save) - kz_bookmark_file_save(KZ_BOOKMARK_FILE(session)); + save_session(session); } static void @@ -233,6 +251,7 @@ g_signal_connect_after(child, "notify", G_CALLBACK(cb_tab_notify), session); + save_session(session); } static void @@ -247,6 +266,7 @@ g_signal_handlers_disconnect_by_func (child, G_CALLBACK(cb_tab_notify), session); + save_session(session); } static void