svnno****@sourc*****
svnno****@sourc*****
Sat Aug 29 19:02:54 JST 2009
Revision: 3795 http://sourceforge.jp/projects/kazehakase/svn/view?view=rev&revision=3795 Author: ikezoe Date: 2009-08-29 19:02:54 +0900 (Sat, 29 Aug 2009) Log Message: ----------- * module/embed/per-process/kz-dbus-embed-delegate.c: Implement get_title and get_location method. Modified Paths: -------------- kazehakase/trunk/ChangeLog kazehakase/trunk/module/embed/per-process/kz-dbus-embed-delegate.c Modified: kazehakase/trunk/ChangeLog =================================================================== --- kazehakase/trunk/ChangeLog 2009-08-29 09:45:40 UTC (rev 3794) +++ kazehakase/trunk/ChangeLog 2009-08-29 10:02:54 UTC (rev 3795) @@ -5,6 +5,8 @@ KzEmbedIFace partially. * dbus/kz-dbus-embed-agent.c: Emit signals. * module/embed/per-process/: A module for per-process. + * module/embed/per-process/kz-dbus-embed-delegate.c: Implement + get_title and get_location method. 2009-08-29 Hiroyuki Ikezoe <poinc****@ikezo*****> Modified: kazehakase/trunk/module/embed/per-process/kz-dbus-embed-delegate.c =================================================================== --- kazehakase/trunk/module/embed/per-process/kz-dbus-embed-delegate.c 2009-08-29 09:45:40 UTC (rev 3794) +++ kazehakase/trunk/module/embed/per-process/kz-dbus-embed-delegate.c 2009-08-29 10:02:54 UTC (rev 3795) @@ -69,6 +69,8 @@ DBusGConnection *connection; GPid process_id; guint watch_id; + gchar *title; + gchar *location; }; static GType kz_type_dbus_embed_delegate = 0; @@ -105,6 +107,8 @@ static void zoom (KzEmbed *embed, gint zoom, gboolean reflow); +static const gchar *get_title (KzEmbed *kzembed); +static const gchar *get_location (KzEmbed *kzembed); static gboolean kz_dbus_embed_delegate_ready (KzDBusEmbedDelegate *object, guint32 process_id, gchar **address, guint32 *id, gchar **engine_name, GError **error); static gboolean kz_dbus_embed_delegate_location (KzDBusEmbedDelegate *object, gchar *location, GError **error); @@ -214,6 +218,11 @@ static gboolean kz_dbus_embed_delegate_location (KzDBusEmbedDelegate *object, gchar *location, GError **error) { + KzDBusEmbedDelegatePrivate *priv = KZ_DBUS_EMBED_DELEGATE_GET_PRIVATE(object); + + g_free(priv->location); + priv->location = g_strdup(location); + g_signal_emit_by_name(object, "kz-location", location); return TRUE; } @@ -221,6 +230,11 @@ static gboolean kz_dbus_embed_delegate_title (KzDBusEmbedDelegate *object, gchar *title, GError **error) { + KzDBusEmbedDelegatePrivate *priv = KZ_DBUS_EMBED_DELEGATE_GET_PRIVATE(object); + + g_free(priv->title); + priv->title = g_strdup(title); + g_signal_emit_by_name(object, "kz-title", title); return TRUE; } @@ -395,8 +409,8 @@ iface->view_current_page_source_in_new = NULL; iface->is_loading = NULL; - iface->get_title = NULL; - iface->get_location = NULL; + iface->get_title = get_title; + iface->get_location = get_location; iface->get_link_message = NULL; iface->get_progress = NULL; iface->can_cut_selection = NULL; @@ -621,6 +635,8 @@ priv->watch_id = 0; } + g_free(priv->title); + g_free(priv->location); g_free(priv->socket_address); priv->socket_address = NULL; @@ -687,6 +703,8 @@ priv->socket_address = NULL; priv->connection = NULL; priv->process_id = -1; + priv->title = NULL; + priv->location = NULL; } GtkWidget * @@ -806,9 +824,21 @@ GType kz_dbus_embed_delegate_get_type (void) { - return kz_type_dbus_embed_delegate; + return kz_type_dbus_embed_delegate; } +static const gchar * +get_title (KzEmbed *kzembed) +{ + return KZ_DBUS_EMBED_DELEGATE_GET_PRIVATE(kzembed)->title; +} + +static const gchar * +get_location (KzEmbed *kzembed) +{ + return KZ_DBUS_EMBED_DELEGATE_GET_PRIVATE(kzembed)->location; +} + /* vi:ts=4:nowrap:ai:expandtab:sw=4 */