svnno****@sourc*****
svnno****@sourc*****
Thu Aug 27 19:31:08 JST 2009
Revision: 3782 http://sourceforge.jp/projects/kazehakase/svn/view?view=rev&revision=3782 Author: ikezoe Date: 2009-08-27 19:31:08 +0900 (Thu, 27 Aug 2009) Log Message: ----------- 2009-08-27 Hiroyuki Ikezoe <poinc****@ikezo*****> * src/kz-embed.[ch], src/kz-window.c, src/kz-tab-label, src/sidebar/kz-tabtree.c module/embed/kz-gecko-embed.cpp, module/embed/webkit_gtk/kz-webkit-gtk.c, module/ie/kz-ie.c, module/moz-web-view/kz-moz-web-view.c: "kz-title", "kz-location", "kz-link-message" and "kz-progress" signals bring each value. This change reduces function calls. Modified Paths: -------------- kazehakase/trunk/ChangeLog kazehakase/trunk/module/embed/gecko/kz-gecko-embed.cpp kazehakase/trunk/module/embed/ie/kz-ie.c kazehakase/trunk/module/embed/moz-web-view/kz-moz-web-view.c kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c kazehakase/trunk/src/kz-embed.c kazehakase/trunk/src/kz-embed.h kazehakase/trunk/src/kz-tab-label.c kazehakase/trunk/src/kz-window.c kazehakase/trunk/src/sidebar/kz-tabtree.c Modified: kazehakase/trunk/ChangeLog =================================================================== --- kazehakase/trunk/ChangeLog 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/ChangeLog 2009-08-27 10:31:08 UTC (rev 3782) @@ -1,3 +1,11 @@ +2009-08-27 Hiroyuki Ikezoe <poinc****@ikezo*****> + + * src/kz-embed.[ch], src/kz-window.c, src/kz-tab-label, src/sidebar/kz-tabtree.c + module/embed/kz-gecko-embed.cpp, module/embed/webkit_gtk/kz-webkit-gtk.c, + module/ie/kz-ie.c, module/moz-web-view/kz-moz-web-view.c: "kz-title", + "kz-location", "kz-link-message" and "kz-progress" signals bring each value. + This change reduces function calls. + 2009-08-27 Mamoru Tasaka <mtasa****@ioa*****> * src/widget/kz-entry.c: GTK_ENTRY(entry)->text may be NULL Modified: kazehakase/trunk/module/embed/gecko/kz-gecko-embed.cpp =================================================================== --- kazehakase/trunk/module/embed/gecko/kz-gecko-embed.cpp 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/module/embed/gecko/kz-gecko-embed.cpp 2009-08-27 10:31:08 UTC (rev 3782) @@ -914,7 +914,9 @@ { g_return_if_fail(KZ_IS_GECKO_EMBED(embed)); - g_signal_emit_by_name(embed, "kz-link-message"); + gchar *link_message = get_link_message(KZ_EMBED(embed)); + g_signal_emit_by_name(embed, "kz-link-message", link_message); + g_free(link_message); if (((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->link_message) ((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->link_message(embed); @@ -942,7 +944,7 @@ priv->title = gtk_moz_embed_get_title(embed); - g_signal_emit_by_name(embed, "kz-title"); + g_signal_emit_by_name(embed, "kz-title", priv->title); if (((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->title) ((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->title(embed); @@ -959,7 +961,7 @@ g_free(priv->location); priv->location = gtk_moz_embed_get_location(embed); - g_signal_emit_by_name(embed, "kz-location"); + g_signal_emit_by_name(embed, "kz-location", priv->location); if (((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->location) ((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->location(embed); @@ -1112,7 +1114,8 @@ priv->cur_requests++; } - g_signal_emit_by_name(embed, "kz-progress"); + gdouble ratio = get_progress(KZ_EMBED(embed)); + g_signal_emit_by_name(embed, "kz-progress", ratio); if (((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->net_state_all) ((GtkMozEmbedClass*)kz_gecko_embed_parent_class)->net_state_all(embed, aURI, state, status); Modified: kazehakase/trunk/module/embed/ie/kz-ie.c =================================================================== --- kazehakase/trunk/module/embed/ie/kz-ie.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/module/embed/ie/kz-ie.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -383,7 +383,7 @@ if (priv->location) g_free(priv->location); priv->location = g_strdup(location); - g_signal_emit_by_name(ieembed, "kz-location"); + g_signal_emit_by_name(ieembed, "kz-location", location); } static void @@ -394,7 +394,7 @@ if (priv->title) g_free(priv->title); priv->title = g_strdup(title); - g_signal_emit_by_name(ieembed, "kz-title"); + g_signal_emit_by_name(ieembed, "kz-title", title); } static void @@ -403,10 +403,20 @@ glong max_progress) { KzIEPrivate *priv = KZ_IE_GET_PRIVATE(ieembed); + gdouble progress = 0.0; + priv->current_progress = current_progress; priv->max_progress = max_progress; - g_signal_emit_by_name(ieembed, "kz-progress"); + if (priv->max_progress > 0 || + priv->current_progress >= 0) + { + progress = (gdouble) priv->current_progress + / (gdouble) priv->max_progress; + } + + + g_signal_emit_by_name(ieembed, "kz-progress", progress); } static void Modified: kazehakase/trunk/module/embed/moz-web-view/kz-moz-web-view.c =================================================================== --- kazehakase/trunk/module/embed/moz-web-view/kz-moz-web-view.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/module/embed/moz-web-view/kz-moz-web-view.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -306,7 +306,7 @@ static void title_changed (MozWebView *view, const char *title) { - g_signal_emit_by_name(view, "kz-title"); + g_signal_emit_by_name(view, "kz-title", title); } static void @@ -318,7 +318,7 @@ static void location_changed (MozWebView *view, const char *uri) { - g_signal_emit_by_name(view, "kz-location"); + g_signal_emit_by_name(view, "kz-location", uri); } static void Modified: kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c =================================================================== --- kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -875,7 +875,7 @@ g_free(priv->title); priv->title = g_strdup(title); - g_signal_emit_by_name(data, "kz-title"); + g_signal_emit_by_name(data, "kz-title", title); } static void @@ -886,7 +886,7 @@ KzWebKitGtkPrivate *priv = KZ_WEBKIT_GTK_GET_PRIVATE(data); priv->progress = progress; - g_signal_emit_by_name(data, "kz-progress"); + g_signal_emit_by_name(data, "kz-progress", progress / 100); } static void @@ -899,7 +899,7 @@ if (priv->location) g_free(priv->location); priv->location = g_strdup(location); - g_signal_emit_by_name(data, "kz-location"); + g_signal_emit_by_name(data, "kz-location", location); } static void @@ -932,7 +932,7 @@ g_free(priv->link_message); priv->link_message = g_strdup(location); - g_signal_emit_by_name(data, "kz-link-message"); + g_signal_emit_by_name(data, "kz-link-message", priv->link_message); } static gboolean Modified: kazehakase/trunk/src/kz-embed.c =================================================================== --- kazehakase/trunk/src/kz-embed.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/src/kz-embed.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -210,8 +210,9 @@ G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(KzEmbedIFace, link_message), NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, + G_TYPE_STRING); kz_embed_signals[JS_STATUS_SIGNAL] = g_signal_new ("kz-js-status", @@ -228,8 +229,9 @@ G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(KzEmbedIFace, location), NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, + G_TYPE_STRING); kz_embed_signals[TITLE_SIGNAL] = g_signal_new ("kz-title", @@ -237,8 +239,9 @@ G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(KzEmbedIFace, title), NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, + G_TYPE_STRING); kz_embed_signals[PROGRESS_SIGNAL] = g_signal_new ("kz-progress", @@ -246,8 +249,9 @@ G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(KzEmbedIFace, progress), NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + g_cclosure_marshal_VOID__DOUBLE, + G_TYPE_NONE, 1, + G_TYPE_DOUBLE); kz_embed_signals[NET_START_SIGNAL] = g_signal_new ("kz-net-start", Modified: kazehakase/trunk/src/kz-embed.h =================================================================== --- kazehakase/trunk/src/kz-embed.h 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/src/kz-embed.h 2009-08-27 10:31:08 UTC (rev 3782) @@ -243,11 +243,15 @@ const gchar *(*get_name) (KzEmbed *kzembed); /* signals */ - void (*link_message) (KzEmbed *embed); + void (*link_message) (KzEmbed *embed, + const gchar *message); void (*js_status) (KzEmbed *embed); - void (*location) (KzEmbed *embed); - void (*title) (KzEmbed *embed); - void (*progress) (KzEmbed *embed); + void (*location) (KzEmbed *embed, + const gchar *location); + void (*title) (KzEmbed *embed, + const gchar *title); + void (*progress) (KzEmbed *embed, + gdouble ratio); void (*net_start) (KzEmbed *embed); void (*net_stop) (KzEmbed *embed); void (*new_window) (KzEmbed *embed, Modified: kazehakase/trunk/src/kz-tab-label.c =================================================================== --- kazehakase/trunk/src/kz-tab-label.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/src/kz-tab-label.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -113,11 +113,11 @@ KzTabLabel *kztab); /* callbacks for embed */ -static void cb_title_changed (KzEmbed *embed, KzTabLabel *kztab); -static void cb_location_changed (KzEmbed *embed, KzTabLabel *kztab); +static void cb_title_changed (KzEmbed *embed, const gchar *title, KzTabLabel *kztab); +static void cb_location_changed (KzEmbed *embed, const gchar *location, KzTabLabel *kztab); static void cb_net_start (KzEmbed *embed, KzTabLabel *kztab); static void cb_net_stop (KzEmbed *embed, KzTabLabel *kztab); -static void cb_progress (KzEmbed *embed, KzTabLabel *kztab); +static void cb_progress (KzEmbed *embed, gdouble ratio, KzTabLabel *kztab); static void make_progress_circle (GtkWidget *widget); @@ -865,19 +865,15 @@ /* callbacks for embed */ static void -cb_title_changed (KzEmbed *embed, KzTabLabel *kztab) +cb_title_changed (KzEmbed *embed, const gchar *title, KzTabLabel *kztab) { - gchar *title; - g_return_if_fail(KZ_IS_TAB_LABEL(kztab)); - title = kz_embed_ensure_title(kztab->kzembed); kz_tab_label_set_text(kztab, title); - g_free(title); } static void -cb_location_changed (KzEmbed *embed, KzTabLabel *kztab) +cb_location_changed (KzEmbed *embed, const gchar *location, KzTabLabel *kztab) { KzBookmark *bookmark; @@ -885,7 +881,7 @@ bookmark = kz_bookmark_folder_get_current_bookmark(kztab->history); if (bookmark) - kz_bookmark_set_link(bookmark, kz_embed_get_location(embed)); + kz_bookmark_set_link(bookmark, location); } static void @@ -952,16 +948,14 @@ static void -cb_progress (KzEmbed *embed, KzTabLabel *kztab) +cb_progress (KzEmbed *embed, gdouble ratio, KzTabLabel *kztab) { - gdouble progress; GtkWidget *widget; GdkGC *gc; g_return_if_fail(KZ_IS_TAB_LABEL(kztab)); widget = GTK_WIDGET(kztab); - progress = kz_embed_get_progress(KZ_EMBED(embed)); if(GTK_WIDGET_REALIZED(widget)) { @@ -988,7 +982,7 @@ TRUE, 0, 0, priv->icon_width, priv->icon_height, - 90 * 64, 360 * 64 * progress); + 90 * 64, 360 * 64 * ratio); gdk_gc_set_function(gc, GDK_AND); gdk_draw_drawable(mask, gc, Modified: kazehakase/trunk/src/kz-window.c =================================================================== --- kazehakase/trunk/src/kz-window.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/src/kz-window.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -230,10 +230,13 @@ /* callbacks for embed */ static void cb_embed_title_changed (KzEmbed *embed, + const gchar *title, KzWindow *kz); static void cb_embed_location_changed (KzEmbed *embed, + const gchar *location, KzWindow *kz); static void cb_embed_link_message (KzEmbed *embed, + const gchar *message, KzWindow *kz); static void cb_embed_load_started (KzEmbed *embed, KzWindow *kz); @@ -820,7 +823,6 @@ return kz_window_open_new_tab_with_parent(kz, url, NULL); } - /* It's temporary implementation */ static KzEmbed * kz_window_create_embed (KzWindow *kz) @@ -1189,9 +1191,10 @@ gtk_widget_destroy(kz->popup_tablist); kz->popup_tablist = NULL; - if (kz->tabs) + if (kz->tabs) { /* CAUTION: make KzApp sure to remove tabs before freeing it. */ g_object_unref(kz->tabs); + } kz->tabs = NULL; if (kz->closed_tabs) @@ -2055,55 +2058,34 @@ * * *****************************************************************************/ static void -cb_embed_title_changed (KzEmbed *embed, KzWindow *kz) +cb_embed_title_changed (KzEmbed *embed, const gchar *title, KzWindow *kz) { g_return_if_fail(KZ_IS_WINDOW(kz)); if (embed == KZ_WINDOW_CURRENT_EMBED(kz)) - { - const gchar *title - = kz_embed_get_title(KZ_EMBED(embed)); - gtk_window_set_title(GTK_WINDOW(kz), (gchar *) title); - } + gtk_window_set_title(GTK_WINDOW(kz), title); } static void -cb_embed_location_changed (KzEmbed *embed, KzWindow *kz) +cb_embed_location_changed (KzEmbed *embed, const gchar *location, KzWindow *kz) { - const char *newLocation; - g_return_if_fail(KZ_IS_WINDOW(kz)); - newLocation = kz_embed_get_location(KZ_EMBED(embed)); - if (newLocation) - { - if (embed == KZ_WINDOW_CURRENT_EMBED(kz)) - kz_window_set_location_entry_text(kz, newLocation); - } - else - { - /* g_print("failed to get location!\n"); */ - } + if (location && embed == KZ_WINDOW_CURRENT_EMBED(kz)) + kz_window_set_location_entry_text(kz, location); kz_actions_set_sensitive(kz, embed); } static void -cb_embed_link_message (KzEmbed *embed, KzWindow *kz) +cb_embed_link_message (KzEmbed *embed, const gchar *message, KzWindow *kz) { - gchar *newMessage; - g_return_if_fail(KZ_IS_WINDOW(kz)); - newMessage = kz_embed_get_link_message(KZ_EMBED(embed)); if(kz->statusbar) - { - kz_statusbar_set_link_text(KZ_STATUSBAR(kz->statusbar), newMessage); - } - - g_free(newMessage); + kz_statusbar_set_link_text(KZ_STATUSBAR(kz->statusbar), message); } Modified: kazehakase/trunk/src/sidebar/kz-tabtree.c =================================================================== --- kazehakase/trunk/src/sidebar/kz-tabtree.c 2009-08-26 15:58:49 UTC (rev 3781) +++ kazehakase/trunk/src/sidebar/kz-tabtree.c 2009-08-27 10:31:08 UTC (rev 3782) @@ -112,6 +112,7 @@ static void cb_net_stop (KzEmbed *embed, KzTabTree *tabtree); static void cb_title_changed (KzEmbed *embed, + const gchar *title KzTabTree *tabtree); @@ -930,15 +931,12 @@ static void -cb_title_changed (KzEmbed *embed, KzTabTree *tabtree) +cb_title_changed (KzEmbed *embed, const gchar *title, KzTabTree *tabtree) { - gchar *title; GtkTreeIter *iter; g_return_if_fail(KZ_IS_TAB_TREE(tabtree)); - title = kz_embed_ensure_title(KZ_EMBED(embed)); - iter = find_node(tabtree->store, KZ_EMBED(embed)); if (iter) { @@ -951,6 +949,4 @@ gtk_tree_iter_free(iter); } - - g_free(title); }