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