[kazehakase-svn] [3678] * src/*.c: Use KZ_WINDOW_CURRENT_EMBED and KZ_WINDOW_NTH_EMBED instead

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
Sat Feb 14 14:13:25 JST 2009


Revision: 3678
          http://svn.sourceforge.jp/view?root=kazehakase&view=rev&rev=3678
Author:   ikezoe
Date:     2009-02-14 14:13:25 +0900 (Sat, 14 Feb 2009)

Log Message:
-----------
	* src/*.c: Use KZ_WINDOW_CURRENT_EMBED and KZ_WINDOW_NTH_EMBED instead
	of KZ_WINDOW_CURRENT_PAGE and KZ_WINDOW_NTH_EMBED.
	* src/kz-window.h: Remove KZ_WINDOW_CURRENT_PAGE and
	KZ_WINDOW_NTH_PAGE.

Modified Paths:
--------------
    kazehakase/trunk/ChangeLog
    kazehakase/trunk/src/actions/kz-actions-dynamic.c
    kazehakase/trunk/src/actions/kz-actions-popup.c
    kazehakase/trunk/src/actions/kz-actions-tab.c
    kazehakase/trunk/src/actions/kz-actions.c
    kazehakase/trunk/src/actions/kz-navigation-action.c
    kazehakase/trunk/src/actions/kz-stop-reload-action.c
    kazehakase/trunk/src/actions/kz-zoom-action.c
    kazehakase/trunk/src/dialogs/kz-print-dialog.c
    kazehakase/trunk/src/kz-feed-info.c
    kazehakase/trunk/src/kz-notebook.c
    kazehakase/trunk/src/kz-notebook.h
    kazehakase/trunk/src/kz-statusbar.c
    kazehakase/trunk/src/kz-window.c
    kazehakase/trunk/src/kz-window.h
    kazehakase/trunk/src/main.c
    kazehakase/trunk/src/sidebar/kz-tabtree.c

Modified: kazehakase/trunk/ChangeLog
===================================================================
--- kazehakase/trunk/ChangeLog	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/ChangeLog	2009-02-14 05:13:25 UTC (rev 3678)
@@ -7,6 +7,10 @@
 	kz_notebook_get_nth_embed.
 	* src/kz-window.h: Added KZ_WINDOW_CURRENT_EMBED and
 	KZ_WINDOW_NTH_EMBED.
+	* src/*.c: Use KZ_WINDOW_CURRENT_EMBED and KZ_WINDOW_NTH_EMBED instead
+	of KZ_WINDOW_CURRENT_PAGE and KZ_WINDOW_NTH_EMBED.
+	* src/kz-window.h: Remove KZ_WINDOW_CURRENT_PAGE and
+	KZ_WINDOW_NTH_PAGE.
 
 2009-02-13  Hiroyuki Ikezoe  <poinc****@ikezo*****>
 

Modified: kazehakase/trunk/src/actions/kz-actions-dynamic.c
===================================================================
--- kazehakase/trunk/src/actions/kz-actions-dynamic.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-actions-dynamic.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -245,7 +245,7 @@
 {
 	GtkWidget *add_feed_bookmark_submenu = NULL;
 	GtkWidget *menuitem;
-	GtkWidget *kzembed;
+	KzEmbed *kzembed;
 	GList *nav_link, *nav_links;
 	KzNavi *navi;
 	gchar *title;
@@ -256,10 +256,11 @@
 		gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu), NULL);
 	}
 
-	kzembed = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(kzembed)) return;
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!kzembed)
+		return;
 
-	nav_links = kz_embed_get_nav_links(KZ_EMBED(kzembed), KZ_EMBED_LINK_RSS);
+	nav_links = kz_embed_get_nav_links(kzembed, KZ_EMBED_LINK_RSS);
 
 	if (!nav_links) return;
 	
@@ -294,7 +295,7 @@
 cb_open_smart_bookmark_menuitem_activate (GtkWidget *widget, KzWindow *kz)
 {
 	KzSmartBookmark *smart_bookmark;
-	GtkWidget *embed;
+	KzEmbed *embed;
 	const gchar *text;
 	gchar *smart_uri;
 	gboolean new_tab;
@@ -304,8 +305,8 @@
 
 	g_return_if_fail(KZ_IS_SMART_BOOKMARK(smart_bookmark));
 
-	embed = KZ_WINDOW_CURRENT_PAGE(kz);
-	text = kz_embed_get_selection_string(KZ_EMBED(embed));
+	embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	text = kz_embed_get_selection_string(embed);
 	smart_uri = kz_smart_bookmark_get_smart_uri(smart_bookmark, text);
 
 	KZ_CONF_GET("Global", "entry_open_in_new_tab", new_tab, BOOL);

Modified: kazehakase/trunk/src/actions/kz-actions-popup.c
===================================================================
--- kazehakase/trunk/src/actions/kz-actions-popup.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-actions-popup.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -104,7 +104,7 @@
 		break;
 	case NEW_TAB:
 		kz_window_open_new_tab_with_parent(kz, uri,
-						   KZ_WINDOW_CURRENT_PAGE(kz));
+						   GTK_WIDGET(KZ_WINDOW_CURRENT_EMBED(kz)));
 		break;
 	case NEW_WINDOW:
 	{
@@ -293,8 +293,7 @@
 act_popup_launch_editor (GtkAction *action, KzWindow *kz)
 {
 	const KzEmbedEventMouse *event;
-	GtkWidget *widget;
-
+	KzEmbed *embed;
 	GPid pid;
 	GSpawnFlags flags;
 	gint argc;
@@ -303,8 +302,9 @@
 	EditorInfo *einfo = NULL;
 	
 	g_return_if_fail(KZ_IS_WINDOW(kz));
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	g_return_if_fail(KZ_EMBED(widget));
+	embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!embed)
+		return;
 
 	event = kz_window_get_mouse_event_info(kz);
 	g_return_if_fail(event);
@@ -316,9 +316,9 @@
 	if (event->cinfo.context & KZ_CONTEXT_TEXTAREA)
 	{
 		einfo = g_new0(EditorInfo, 1);
-		einfo->kzembed  = g_object_ref(widget);
+		einfo->kzembed  = g_object_ref(embed);
 		einfo->element  = event->cinfo.element;
-		text = kz_embed_get_text_from_textarea(KZ_EMBED(widget),
+		text = kz_embed_get_text_from_textarea(embed,
 						       einfo->element);
 		/* text in textare store in temporary file */
 		if (text)
@@ -339,9 +339,9 @@
 	}
 	
 	/* */
-	g_signal_connect(widget, "kz-net-start",
+	g_signal_connect(embed, "kz-net-start",
 			 G_CALLBACK(cb_embed_changed), einfo);
-	g_signal_connect(widget, "destroy",
+	g_signal_connect(embed, "destroy",
 			 G_CALLBACK(cb_embed_changed), einfo);
 	/* launch editor */
 	g_shell_parse_argv(command,
@@ -510,22 +510,21 @@
 static void
 cb_encoding_menuitem_activate (GtkWidget *menuitem, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	if (GTK_CHECK_MENU_ITEM(menuitem)->active && KZ_EMBED(widget))
+	if (GTK_CHECK_MENU_ITEM(menuitem)->active && embed)
 	{
 		const gchar* code
 			= g_object_get_data(G_OBJECT(menuitem),
 					    KZ_ACTIONS_POPUP_LANGUAGE_KEY);
 		GtkAction *action;
 
-		kz_embed_set_encoding(KZ_EMBED(widget), code);
+		kz_embed_set_encoding(embed, code);
 
 		action = gtk_action_group_get_action(kz->actions, "Reload");
 
 		gtk_action_activate(action);
 	}
-	return;
 }
 
 static GtkWidget *
@@ -608,7 +607,7 @@
 	GtkWidget *encoding_submenu;
 	GtkWidget *menuitem;
 	GSList *group = NULL;
-	GtkWidget *page = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	gchar *encodings_xml;
 	gchar *current_encoding = NULL;
 	gboolean forced = FALSE;
@@ -628,9 +627,9 @@
 	encoding_submenu = gtk_menu_new();
 
 	/* get current charset */
-	if(KZ_EMBED(page))
+	if(embed)
 	{
-		kz_embed_get_encoding(KZ_EMBED(page),
+		kz_embed_get_encoding(embed,
 				      &current_encoding, &forced);
 	}
 
@@ -697,7 +696,6 @@
 {
 	gint i;
 	GtkWidget *tablist_submenu;
-	GtkWidget *page;
 	gint current_page_num;
 	KzFavicon *kzfav = KZ_GET_FAVICON;
 	gchar *color = NULL;
@@ -752,65 +750,62 @@
 		tablist_submenu = tablist_menu;
 	}
 
-	page = KZ_WINDOW_CURRENT_PAGE(kz);
-	current_page_num = kz_notebook_page_num(KZ_NOTEBOOK(kz->notebook),
-						GTK_WIDGET(page));
+	current_page_num = kz_notebook_get_current_page(KZ_NOTEBOOK(kz->notebook));
 
 	for (i = 0; i < num; i++)
 	{
-		KzEmbed *kzembed = KZ_EMBED(KZ_WINDOW_NTH_PAGE(kz, i));
+		KzEmbed *kzembed = KZ_WINDOW_NTH_EMBED(kz, i);
 		GtkWidget *favicon;
+		gchar *title, *escaped, *markup_title;
+		GtkWidget *menuitem;
+		GtkWidget *tab;
+		KzTabLabelState state;
 
-		if (KZ_EMBED(kzembed))
-		{
-			gchar *title, *escaped, *markup_title;
-			GtkWidget *menuitem;
-			GtkWidget *tab;
-			KzTabLabelState state;
+		if (!kzembed)
+                        continue;
 			
-			tab = kz_window_get_tab_label(kz, GTK_WIDGET(kzembed));
-			state = kz_tab_label_get_state(KZ_TAB_LABEL(tab));
-			title = kz_embed_ensure_title(kzembed);
-			escaped = g_markup_escape_text(title,
-						       strlen(title));
-			menuitem = gtk_image_menu_item_new_with_label(title);
+		tab = kz_window_get_tab_label(kz, GTK_WIDGET(kzembed));
+		state = kz_tab_label_get_state(KZ_TAB_LABEL(tab));
+		title = kz_embed_ensure_title(kzembed);
+		escaped = g_markup_escape_text(title,
+					       strlen(title));
+		menuitem = gtk_image_menu_item_new_with_label(title);
 
-			if (i == current_page_num)
-			{
-				markup_title = g_strdup_printf("<b>%s</b>",
-							       escaped);
-			}
-			else
-			{
-				markup_title = g_strdup_printf("<span foreground=\"%s\">%s</span>",
-							       label_color[state],
-							       escaped);
-			}
+		if (i == current_page_num)
+		{
+			markup_title = g_strdup_printf("<b>%s</b>",
+						       escaped);
+		}
+		else
+		{
+			markup_title = g_strdup_printf("<span foreground=\"%s\">%s</span>",
+						       label_color[state],
+						       escaped);
+		}
 
-			gtk_label_set_markup(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),
-					     markup_title);
-			g_free(markup_title);
-			g_free(escaped);
-			
-			/* favicon */
-			favicon = kz_favicon_get_widget(kzfav,
-							kz_embed_get_location(kzembed),
-							KZ_ICON_SIZE_BOOKMARK_MENU);
-			if (favicon)
-			{
-				gtk_widget_show(favicon);
-				gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem),
-							      favicon);
-			}
+		gtk_label_set_markup(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),
+				     markup_title);
+		g_free(markup_title);
+		g_free(escaped);
+		
+		/* favicon */
+		favicon = kz_favicon_get_widget(kzfav,
+						kz_embed_get_location(kzembed),
+						KZ_ICON_SIZE_BOOKMARK_MENU);
+		if (favicon)
+		{
+			gtk_widget_show(favicon);
+			gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem),
+						      favicon);
+		}
 
-			g_object_set_data (G_OBJECT(menuitem), KZ_ACTIONS_POPUP_TAB_KEY, kzembed);
+		g_object_set_data (G_OBJECT(menuitem), KZ_ACTIONS_POPUP_TAB_KEY, kzembed);
 
-			g_signal_connect(menuitem, "activate",
-					 G_CALLBACK(cb_tablist_menuitem_activate), kz);
-			gtk_menu_shell_append(GTK_MENU_SHELL(tablist_submenu), menuitem);
-			gtk_widget_show(menuitem);
-			g_free(title);
-		}
+		g_signal_connect(menuitem, "activate",
+				 G_CALLBACK(cb_tablist_menuitem_activate), kz);
+		gtk_menu_shell_append(GTK_MENU_SHELL(tablist_submenu), menuitem);
+		gtk_widget_show(menuitem);
+		g_free(title);
 	}
 	if (GTK_IS_MENU_ITEM(tablist_menu))
 	{
@@ -893,7 +888,10 @@
 	if (extra_menu)
 	{
 		KzTabLabel *kztab;
-		kztab = KZ_TAB_LABEL(kz_window_get_tab_label(kz, KZ_WINDOW_CURRENT_PAGE(kz)));
+		gint current_page;
+
+		current_page = kz_notebook_get_current_page(KZ_NOTEBOOK(kz->notebook));
+		kztab = kz_notebook_get_nth_tab_label(KZ_NOTEBOOK(kz->notebook), current_page);
 		kz_actions_dynamic_append_copy_in_user_format_menuitem
 			(kztab, GTK_MENU_ITEM(extra_menu));
 	}

Modified: kazehakase/trunk/src/actions/kz-actions-tab.c
===================================================================
--- kazehakase/trunk/src/actions/kz-actions-tab.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-actions-tab.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -40,14 +40,12 @@
 
 	if (!kztab)
 	{
-		GtkWidget *label;
-		GtkWidget *kzembed;
+		gint current_page;
 
-		kzembed = GTK_WIDGET(KZ_WINDOW_CURRENT_PAGE(kz));
-		label = gtk_notebook_get_tab_label(GTK_NOTEBOOK(kz->notebook),
-						   kzembed);
-		if (KZ_IS_TAB_LABEL(label))
-			kztab = KZ_TAB_LABEL(label);
+		current_page = kz_notebook_get_current_page(KZ_NOTEBOOK(kz->notebook));
+
+		kztab = kz_notebook_get_nth_tab_label(KZ_NOTEBOOK(kz->notebook),
+						      current_page);
 	}
 
 	return kztab;
@@ -207,16 +205,12 @@
 
 	for (i = num - 1; i >= 0; i--)
 	{
-		GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kz, i);
-		kztab = KZ_TAB_LABEL(gtk_notebook_get_tab_label(GTK_NOTEBOOK(kz->notebook),
-							widget));
-		target = g_strsplit(kz_embed_get_location(KZ_EMBED(kztab->kzembed)),
-				"/", 0);
+		KzEmbed *embed;
+		embed = KZ_WINDOW_NTH_EMBED(kz, i);
+		target = g_strsplit(kz_embed_get_location(embed), "/", 0);
 
 		if(!(strcmp(src[2] , target[2])))
-		{
-			kz_window_close_tab(kz, widget);
-		}
+			kz_window_close_tab(kz, GTK_WIDGET(embed));
 		g_strfreev(target);
 	}
 	g_strfreev(src);
@@ -338,13 +332,13 @@
 static void
 act_tab_copy_tab (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
 	KzEmbed *src_embed, *dest_embed;
 
 	g_return_if_fail(KZ_IS_WINDOW(kz));
-	g_return_if_fail(KZ_EMBED(widget));
 	
-	src_embed  = KZ_EMBED(widget);	
+	src_embed  = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!src_embed)
+		return;
 	dest_embed = KZ_EMBED(kz_window_open_new_tab(kz, NULL));
 
 	kz_embed_copy_page(src_embed, dest_embed);

Modified: kazehakase/trunk/src/actions/kz-actions.c
===================================================================
--- kazehakase/trunk/src/actions/kz-actions.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-actions.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -81,15 +81,14 @@
 static void
 act_save (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
 	KzEmbed *kzembed;
 	gchar *filename;
 
 	g_return_if_fail(KZ_IS_WINDOW(kz));
-	g_return_if_fail(KZ_IS_EMBED(widget));
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+        if (!kzembed)
+                return;
 	
-	kzembed = KZ_EMBED(widget);
-	
 	filename = kz_actions_download_open_save_dialog(GTK_WINDOW(kz),
 	    						kz_embed_get_location(kzembed),
 							TRUE);
@@ -113,9 +112,9 @@
 static void
 act_close_tab (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (widget)
-		kz_window_close_tab(kz, widget);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (embed)
+		kz_window_close_tab(kz, GTK_WIDGET(embed));
 }
 
 
@@ -261,12 +260,13 @@
 static void
 act_open_selected_links (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	GList *list = NULL, *node;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	kz_embed_get_links(KZ_EMBED(widget), &list, TRUE);
+	kz_embed_get_links(embed, &list, TRUE);
 
 	for (node = list; node; node = g_list_next(node))
 	{
@@ -281,7 +281,7 @@
 		if (kz_bookmark_filter_out(link)) continue;
 
 		kz_window_open_new_tab_with_parent(KZ_WINDOW(kz), uri,
-						   widget);
+						   GTK_WIDGET(embed));
 	}
 
 	g_list_foreach(list, (GFunc) g_object_unref, NULL);
@@ -293,7 +293,7 @@
 static void
 act_open_selected_text (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	gchar *text;
 	GRegex *regex;
 	GMatchInfo *match_info;
@@ -303,8 +303,6 @@
 
  	g_return_if_fail (KZ_IS_WINDOW((kz)));
  
-	if (!KZ_IS_EMBED(widget)) return;
-	
 	regex = g_regex_new(HTTP_REGEX, 
 			    0,
 			    0, &error);
@@ -315,7 +313,7 @@
 		return;
 	}
 
-	text = kz_embed_get_selection_string(KZ_EMBED(widget));
+	text = kz_embed_get_selection_string(embed);
 	if (!text) return;
 
 	match = g_regex_match(regex, text, 0, &match_info);
@@ -329,7 +327,7 @@
 		{
 			kz_window_open_new_tab_with_parent(KZ_WINDOW(kz),
 							   uri[i],
-							   widget);
+							   GTK_WIDGET(embed));
 			i++;
 		}
 		if (uri)
@@ -345,36 +343,27 @@
 static void
 act_back (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_back(KZ_EMBED(widget));
+	kz_embed_go_back(embed);
 }
 
 
 static void
 act_forward (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_forward(KZ_EMBED(widget));
+	kz_embed_go_forward(embed);
 }
 
 
 static void
 act_go_up (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_up(KZ_EMBED(widget));
+	kz_embed_go_up(embed);
 }
 
 
@@ -416,72 +405,54 @@
 static void
 act_index (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_nav_link(KZ_EMBED(widget), KZ_EMBED_LINK_INDEX);
+	kz_embed_go_nav_link(embed, KZ_EMBED_LINK_INDEX);
 }
 
 
 static void
 act_contents (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_nav_link(KZ_EMBED(widget), KZ_EMBED_LINK_CONTENTS);
+	kz_embed_go_nav_link(embed, KZ_EMBED_LINK_CONTENTS);
 }
 
 
 static void
 act_start (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_nav_link(KZ_EMBED(widget), KZ_EMBED_LINK_START);
+	kz_embed_go_nav_link(embed, KZ_EMBED_LINK_START);
 }
 
 
 static void
 act_prev (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_nav_link(KZ_EMBED(widget), KZ_EMBED_LINK_PREV);
+	kz_embed_go_nav_link(embed, KZ_EMBED_LINK_PREV);
 }
 
 
 static void
 act_next (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_go_nav_link(KZ_EMBED(widget), KZ_EMBED_LINK_NEXT);
+	kz_embed_go_nav_link(embed, KZ_EMBED_LINK_NEXT);
 }
 
 
 static void 
 act_stop (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_stop_load(KZ_EMBED(widget));
+	kz_embed_stop_load(embed);
 }
 
 
@@ -490,19 +461,16 @@
 {
 	GdkModifierType state = (GdkModifierType)0;
 	gint x, y;
-	GtkWidget *widget;
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
 	gdk_window_get_pointer(NULL, &x, &y, &state);
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-
-	if (KZ_IS_EMBED(widget))
-		kz_embed_reload(KZ_EMBED(widget),
-				(state & GDK_SHIFT_MASK) ?
-				KZ_EMBED_RELOAD_BYPASS_PROXY_AND_CACHE : 
-				KZ_EMBED_RELOAD_NORMAL);
+	kz_embed_reload(embed,
+			(state & GDK_SHIFT_MASK) ?
+			KZ_EMBED_RELOAD_BYPASS_PROXY_AND_CACHE : 
+			KZ_EMBED_RELOAD_NORMAL);
 }
 
 
@@ -517,10 +485,9 @@
 
 	for (i = num - 1; i >= 0; i--)
 	{
-		GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kz, i);
+		KzEmbed *embed = KZ_WINDOW_NTH_EMBED(kz, i);
 
-		if (KZ_IS_EMBED(widget))
-			kz_embed_stop_load(KZ_EMBED(widget));
+		kz_embed_stop_load(embed);
 	}
 }
 
@@ -539,13 +506,12 @@
 
 	for (i = num - 1; i >= 0; i--)
 	{
-		GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kz, i);
+		KzEmbed *embed = KZ_WINDOW_NTH_EMBED(kz, i);
 
-		if (KZ_IS_EMBED(widget))
-			kz_embed_reload(KZ_EMBED(widget),
-					(state & GDK_SHIFT_MASK) ?
-					KZ_EMBED_RELOAD_BYPASS_CACHE : 
-					KZ_EMBED_RELOAD_NORMAL);
+		kz_embed_reload(embed,
+				(state & GDK_SHIFT_MASK) ?
+				KZ_EMBED_RELOAD_BYPASS_CACHE : 
+				KZ_EMBED_RELOAD_NORMAL);
 	}
 }
 
@@ -553,60 +519,22 @@
 static void 
 act_view_source (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	GtkWidget *newtab;
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
+	newtab = kz_window_open_new_tab(kz, NULL);
 
-	if (KZ_IS_EMBED(widget))
-	{
-		newtab = kz_window_open_new_tab(kz, NULL);
-
-		kz_embed_view_current_page_source_in_new(KZ_EMBED(widget),
-				                         KZ_EMBED(newtab));
-	}
+	kz_embed_view_current_page_source_in_new(embed, KZ_EMBED(newtab));
 }
 
 static void 
 act_show_page_certificate (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	g_return_if_fail(KZ_IS_WINDOW(kz));
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	if (KZ_IS_EMBED(widget))
-	{
-		kz_embed_show_page_certificate(KZ_EMBED(widget));
-	}
+	kz_embed_show_page_certificate(embed);
 }
 
-#if 0
-static void 
-act_set_edit_mode (GtkAction *action, KzWindow *kz)
-{
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
-
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-	{
-		kz_embed_set_edit_mode(KZ_EMBED(widget));
-	}
-}
-
-static void 
-act_set_view_mode (GtkAction *action, KzWindow *kz)
-{
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
-
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-
-	if (KZ_IS_EMBED(widget))
-	{
-		kz_embed_set_view_mode(KZ_EMBED(widget));
-	}
-}
-#endif
-
 static void
 act_popup_context_menu (GtkAction *action, KzWindow *kz)
 {
@@ -715,10 +643,10 @@
 	{
                 KzEmbed *kzembed;
 
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-                if (!KZ_IS_EMBED(kzembed)) return;
-		kz_embed_do_command(kzembed,
-				    "cmd_undo");
+		kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+		if (!kzembed)
+			return;
+		kz_embed_do_command(kzembed, "cmd_undo");
 	}
 }
 
@@ -739,10 +667,10 @@
 	{
                 KzEmbed *kzembed;
 
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-                if (!KZ_IS_EMBED(kzembed)) return;
-		kz_embed_do_command(kzembed,
-				    "cmd_redo");
+		kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+		if (!kzembed)
+			return;
+		kz_embed_do_command(kzembed, "cmd_redo");
 	}
 }
 
@@ -764,9 +692,10 @@
         {
                 KzEmbed *kzembed;
 
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-                if (!KZ_IS_EMBED(kzembed)) return;
-                kz_embed_cut_selection (kzembed);
+		kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+		if (!kzembed)
+			return;
+                kz_embed_cut_selection(kzembed);
         }
 }
 
@@ -788,9 +717,11 @@
         {
                 KzEmbed *kzembed;
 
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-                if (!KZ_IS_EMBED(kzembed)) return;
-                kz_embed_copy_selection (kzembed);
+		kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+		if (!kzembed)
+			return;
+
+                kz_embed_copy_selection(kzembed);
         }
 }
 
@@ -811,9 +742,11 @@
         {
                 KzEmbed *kzembed;
 
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-                if (!KZ_IS_EMBED(kzembed)) return;
-                kz_embed_paste (kzembed);
+		kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+		if (!kzembed)
+			return;
+
+                kz_embed_paste(kzembed);
         }
 }
 
@@ -835,9 +768,11 @@
         {
                 KzEmbed *kzembed;
 
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-                if (!KZ_IS_EMBED(kzembed)) return;
-                kz_embed_select_all (kzembed);
+		kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+		if (!kzembed)
+			return;
+
+                kz_embed_select_all(kzembed);
         }
 }
 
@@ -845,15 +780,16 @@
 static void
 act_copy_title (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget;
+	KzEmbed *kzembed;
 	const gchar *text;
 
 	g_return_if_fail(KZ_IS_WINDOW (kz));
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(widget)) return;
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!kzembed)
+		return;
 
-	text = kz_embed_get_title(KZ_EMBED(widget));
+	text = kz_embed_get_title(kzembed);
 	gtkutil_copy_text(text);
 }
 
@@ -861,30 +797,32 @@
 static void
 act_copy_url (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget;
+	KzEmbed *kzembed;
 	const gchar *text;
 
 	g_return_if_fail(KZ_IS_WINDOW (kz));
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(widget)) return;
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!kzembed)
+		return;
 
-	text = kz_embed_get_location(KZ_EMBED(widget));
+	text = kz_embed_get_location(kzembed);
 	gtkutil_copy_text(text);
 }
 
 static void
 act_get_body_text (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *kzembed;
+	gchar *text;
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
+	g_return_if_fail(KZ_IS_WINDOW (kz));
 
-	if (KZ_IS_EMBED(widget))
-	{
-		gchar *text = kz_embed_get_body_text(KZ_EMBED(widget));
-		g_free(text);
-	}
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!kzembed)
+		return;
+
+	text = kz_embed_get_body_text(kzembed);
 }
 
 
@@ -1051,7 +989,7 @@
 {
 	KzBookmark *folder, *bookmark, *sibling = NULL;
 	KzBookmark *file;
-	GtkWidget *widget;
+        KzEmbed *embed;
 	const gchar *title, *uri;
 	gchar *desc;
 
@@ -1067,12 +1005,12 @@
 		g_return_if_fail(KZ_IS_BOOKMARK(folder));
 	}
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(widget)) return;
+	embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!embed) return;
 
-	title = kz_embed_ensure_title(KZ_EMBED(widget));
-	uri   = kz_embed_get_location(KZ_EMBED(widget));
-	desc  = kz_embed_get_selection_string(KZ_EMBED(widget));
+	title = kz_embed_ensure_title(embed);
+	uri   = kz_embed_get_location(embed);
+	desc  = kz_embed_get_selection_string(embed);
 
 	if (!uri) return;
 
@@ -1113,8 +1051,7 @@
 
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
-	g_return_if_fail(KZ_IS_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)));
-	embed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz));
+	embed = KZ_EMBED(KZ_WINDOW_CURRENT_EMBED(kz));
 	
 	kz_navi_add_bookmark(kz_embed_get_nth_nav_link(embed,
 						       KZ_EMBED_LINK_RSS,
@@ -1239,7 +1176,7 @@
 act_clip_selection (GtkAction *action, KzWindow *kz)
 {
 	KzBookmark *clip, *bookmark;
-	GtkWidget *embed;
+	KzEmbed *embed;
 	const gchar *title, *uri;
 	gchar *source = NULL;
 	GTimeVal now;
@@ -1253,8 +1190,8 @@
 
 	if (!KZ_IS_WINDOW(kz)) return;
 
-	embed = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(embed)) return;
+	embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!embed) return;
 
 	clip = KZ_GET_CLIP_BOOKMARK;
 	g_get_current_time(&now);
@@ -1289,7 +1226,7 @@
 	clip_dir_name = g_build_filename(KZ_GET_CLIPS_DIR, dir_name, NULL);
 	g_mkdir_with_parents(clip_dir_name, 0700);
 
-	source  = kz_embed_get_html_with_contents(KZ_EMBED(embed), dir_name);
+	source  = kz_embed_get_html_with_contents(embed, dir_name);
 
 	filename = g_build_filename(clip_dir_name,
 				    full_htmlname,
@@ -1325,12 +1262,12 @@
 static void
 act_extract_links (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	GtkWidget *dialog;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed) return;
 
-	dialog = kz_links_dialog_new(GTK_WINDOW(kz), KZ_EMBED(widget), FALSE);
+	dialog = kz_links_dialog_new(GTK_WINDOW(kz), embed, FALSE);
 	gtk_widget_show(dialog);
 }
 
@@ -1338,12 +1275,11 @@
 static void
 act_extract_selected_links (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	GtkWidget *dialog;
 
-	if (!KZ_IS_EMBED(widget)) return;
-
-	dialog = kz_links_dialog_new(GTK_WINDOW(kz), KZ_EMBED(widget), TRUE);
+	if (!embed) return;
+	dialog = kz_links_dialog_new(GTK_WINDOW(kz), embed, TRUE);
 	gtk_widget_show(dialog);
 }
 
@@ -1385,13 +1321,9 @@
 static void
 act_copy_tab (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
 	KzEmbed *src_embed, *dest_embed;
 
-	g_return_if_fail(KZ_IS_WINDOW(kz));
-	g_return_if_fail(KZ_IS_EMBED(widget));
-	
-	src_embed  = KZ_EMBED(widget);	
+	src_embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	dest_embed = KZ_EMBED(kz_window_open_new_tab(kz, NULL));
 
 	kz_embed_copy_page(src_embed, dest_embed);
@@ -1413,27 +1345,23 @@
 static void
 act_print (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget;
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW (kz));
+	if (!embed)
+		return;
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(widget)) return;
-
-	kz_embed_print(KZ_EMBED(widget));
+	kz_embed_print(embed);
 }
 
 static void
 act_print_preview (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget;
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	g_return_if_fail(KZ_IS_WINDOW (kz));
+	if (!embed)
+		return;
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(widget)) return;
-
-	kz_embed_print_preview(KZ_EMBED(widget));
+	kz_embed_print_preview(embed);
 }
 
 
@@ -1458,18 +1386,19 @@
 static void
 act_decrease_text_size (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	gint ratio;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	ratio = kz_embed_get_text_size(KZ_EMBED(widget));
+	ratio = kz_embed_get_text_size(embed);
 	ratio = ratio - 10;
 
 	if (ratio > 0)
 	{
 		GtkAction *zoom;
-		kz_embed_set_text_size(KZ_EMBED(widget), ratio, TRUE);
+		kz_embed_set_text_size(embed, ratio, TRUE);
 
 		zoom = gtk_action_group_get_action(kz->actions, "Zoom");
 	        kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom),
@@ -1480,18 +1409,19 @@
 static void
 act_increase_text_size (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	gint ratio;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	ratio = kz_embed_get_text_size(KZ_EMBED(widget));
+	ratio = kz_embed_get_text_size(embed);
 	ratio = ratio + 10;
 
 	if (ratio < 1000)
 	{
 		GtkAction *zoom;
-		kz_embed_set_text_size(KZ_EMBED(widget), ratio, TRUE);
+		kz_embed_set_text_size(embed, ratio, TRUE);
 
 		zoom = gtk_action_group_get_action(kz->actions, "Zoom");
 	        kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom),
@@ -1503,35 +1433,35 @@
 static void
 act_normal_text_size (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	GtkAction *zoom;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	kz_embed_set_text_size(KZ_EMBED(widget), 100, TRUE);
+	kz_embed_set_text_size(embed, 100, TRUE);
 	
 	zoom = gtk_action_group_get_action(kz->actions, "Zoom");
-        kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom),
-				 100);
-					
+        kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom), 100);
 }
 
 
 static void
 act_zoom_out (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	gint ratio;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	ratio = kz_embed_zoom_get(KZ_EMBED(widget));
+	ratio = kz_embed_zoom_get(embed);
 	ratio = ratio - 10;
 
 	if (ratio > 0)
 	{
 		GtkAction *zoom;
-		kz_embed_zoom_set(KZ_EMBED(widget), ratio, TRUE);
+		kz_embed_zoom_set(embed, ratio, TRUE);
 
 		zoom = gtk_action_group_get_action(kz->actions, "Zoom");
 	        kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom),
@@ -1542,18 +1472,19 @@
 static void
 act_zoom_in (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	gint ratio;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	ratio = kz_embed_zoom_get(KZ_EMBED(widget));
+	ratio = kz_embed_zoom_get(embed);
 	ratio = ratio + 10;
 
 	if (ratio < 1000)
 	{
 		GtkAction *zoom;
-		kz_embed_zoom_set(KZ_EMBED(widget), ratio, TRUE);
+		kz_embed_zoom_set(embed, ratio, TRUE);
 
 		zoom = gtk_action_group_get_action(kz->actions, "Zoom");
 	        kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom),
@@ -1565,12 +1496,13 @@
 static void
 act_zoom_100 (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	GtkAction *zoom;
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	kz_embed_zoom_set(KZ_EMBED(widget), 100, TRUE);
+	kz_embed_zoom_set(embed, 100, TRUE);
 	
 	zoom = gtk_action_group_get_action(kz->actions, "Zoom");
         kz_zoom_action_set_ratio(KZ_ZOOM_ACTION(zoom),
@@ -1581,11 +1513,12 @@
 static void
 act_page_up (GtkAction *action, KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
 
-	if (!KZ_IS_EMBED(widget)) return;
+	if (!embed)
+		return;
 
-	kz_embed_page_up(KZ_EMBED(widget));
+	kz_embed_page_up(embed);
 }
 
 static void
@@ -1607,9 +1540,8 @@
         }
         else
         {
-                KzEmbed *kzembed;
-                kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE (kz));
-		kz_embed_page_down(KZ_EMBED(kzembed));
+		KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
+		kz_embed_page_down(embed);
         }
 }
 
@@ -1618,19 +1550,20 @@
 {
 	gint x, y;
 	GdkDisplay *display;
-	GtkWidget *widget;
+	KzEmbed *embed;
 	KzAutoscroller *as;
 
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
-	if (!KZ_IS_EMBED(widget)) return;
+	embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!embed)
+		return;
 
-	display = gtk_widget_get_display (widget);
+	display = gtk_widget_get_display(GTK_WIDGET(embed));
 	as = kz_autoscroller_new ();
 	gdk_display_get_pointer (display, NULL, &x, &y, NULL);
-	kz_autoscroller_set_embed (as, KZ_EMBED(widget));
-	kz_autoscroller_start_scroll (as, GTK_WIDGET (kz), x, y);
+	kz_autoscroller_set_embed (as, embed);
+	kz_autoscroller_start_scroll (as, GTK_WIDGET(kz), x, y);
 	g_object_unref (as);
 }
 
@@ -1952,7 +1885,7 @@
 		children_is_editable = TRUE;
 	else
 		children_is_editable = FALSE;
-	kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz));
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
 	if (kzembed && kz_embed_get_nav_link(kzembed, KZ_EMBED_LINK_RSS))
 		has_feed = TRUE;
 	else
@@ -2120,7 +2053,7 @@
 		}
 		else
 		{
-			KzEmbed *prev = KZ_EMBED(KZ_WINDOW_NTH_PAGE(kz, pos - 1));
+			KzEmbed *prev = KZ_WINDOW_NTH_EMBED(kz, pos - 1);
 			const gchar* uri = kz_embed_get_location(prev);
 			/* set favicon */
 			combine_favicon(action, uri, kz);
@@ -2137,7 +2070,7 @@
 		}
 		else
 		{
-			KzEmbed *next = KZ_EMBED(KZ_WINDOW_NTH_PAGE(kz, pos + 1));
+			KzEmbed *next = KZ_WINDOW_NTH_EMBED(kz, pos + 1);
 			const gchar* uri = kz_embed_get_location(next);
 			/* set favicon */
 			combine_favicon(action,	uri, kz);
@@ -2205,12 +2138,12 @@
 					   GTK_WIDGET(kzembed));
 		for (i = 0; i< num; i++)
 		{
-			GtkWidget *widget;
+			KzEmbed *embed;
 
-			widget = KZ_WINDOW_NTH_PAGE(kz, i);
-			if (!KZ_IS_EMBED(widget)) continue;
-			can_stop_all
-				= kz_embed_is_loading(KZ_EMBED(widget));
+			embed = KZ_WINDOW_NTH_EMBED(kz, i);
+			if (!embed)
+				continue;
+			can_stop_all = kz_embed_is_loading(embed);
 			if (can_stop_all) break;
 		}
 	}

Modified: kazehakase/trunk/src/actions/kz-navigation-action.c
===================================================================
--- kazehakase/trunk/src/actions/kz-navigation-action.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-navigation-action.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -164,18 +164,15 @@
 static void
 activate (GtkAction *action)
 {
-	GtkWidget *widget;
+	KzEmbed *embed;
 
 	g_return_if_fail(KZ_NAVIGATION_ACTION(action));
 
-	widget = KZ_WINDOW_CURRENT_PAGE(KZ_NAVIGATION_ACTION(action)->kz);
+	embed = KZ_WINDOW_CURRENT_EMBED(KZ_NAVIGATION_ACTION(action)->kz);
 
-	if (!widget) return;
+	if (!embed) return;
 
-	if (KZ_EMBED(widget))
-	{
-		kz_embed_go_back(KZ_EMBED(widget));
-	}
+	kz_embed_go_back(embed);
 }
 
 static void
@@ -183,7 +180,7 @@
 {
 	gint go_nth;
 
-	KzEmbed *kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(action->kz));
+	KzEmbed *kzembed = KZ_WINDOW_CURRENT_EMBED(action->kz);
 
 	go_nth = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(menu), "go_nth"));
 
@@ -201,7 +198,7 @@
 {
 	int i, pos, count;
 	GtkWidget *menu;
-	KzEmbed *kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(action->kz));
+	KzEmbed *kzembed = KZ_WINDOW_CURRENT_EMBED(action->kz);
 	KzFavicon *kzfav = KZ_GET_FAVICON;
 
 	menu = gtk_menu_tool_button_get_menu(b);

Modified: kazehakase/trunk/src/actions/kz-stop-reload-action.c
===================================================================
--- kazehakase/trunk/src/actions/kz-stop-reload-action.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-stop-reload-action.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -195,7 +195,7 @@
 	KzWindow *kz;
 	GdkModifierType state = (GdkModifierType)0;
 	gint x, y;
-	GtkWidget *widget;
+	KzEmbed *embed;
 	KzStopReloadActionPrivate *priv = KZ_STOP_RELOAD_ACTION_GET_PRIVATE (action);
 	
 	kz = priv->kz;
@@ -203,27 +203,23 @@
 
 	gdk_window_get_pointer(NULL, &x, &y, &state);
 
-	widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	if (!embed)
+		return;
 
-	if (KZ_IS_EMBED(widget))
+	switch (priv->state)
 	{
-		KzStopReloadActionState action_state;
-		action_state = priv->state;
-
-		switch (action_state)
-		{
-		case KZ_STOP_RELOAD_ACTION_STATE_STOP:	
-			kz_embed_stop_load(KZ_EMBED(widget));
-			break;
-		case KZ_STOP_RELOAD_ACTION_STATE_RELOAD:
-			kz_embed_reload(KZ_EMBED(widget),
-					(state & GDK_SHIFT_MASK) ?
-					KZ_EMBED_RELOAD_BYPASS_PROXY_AND_CACHE : 
-					KZ_EMBED_RELOAD_NORMAL);
-			break;
-		default:
-			break;
-		}
+	case KZ_STOP_RELOAD_ACTION_STATE_STOP:	
+		kz_embed_stop_load(embed);
+		break;
+	case KZ_STOP_RELOAD_ACTION_STATE_RELOAD:
+		kz_embed_reload(embed,
+				(state & GDK_SHIFT_MASK) ?
+				KZ_EMBED_RELOAD_BYPASS_PROXY_AND_CACHE : 
+				KZ_EMBED_RELOAD_NORMAL);
+		break;
+	default:
+		break;
 	}
 }
 

Modified: kazehakase/trunk/src/actions/kz-zoom-action.c
===================================================================
--- kazehakase/trunk/src/actions/kz-zoom-action.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/actions/kz-zoom-action.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -202,18 +202,19 @@
 cb_spin_value_changed (GtkSpinButton *spin, KzZoomAction *action)
 {
 	gint ratio;
-	GtkWidget *embed;
+	KzEmbed *embed;
 	KzZoomActionPrivate *priv = KZ_ZOOM_ACTION_GET_PRIVATE (action);
 
 	if (!priv->spin || !GTK_WIDGET_VISIBLE(priv->spin))
 		return;
 
+	embed = KZ_WINDOW_CURRENT_EMBED(priv->kz);
+	if (!embed)
+		return;
+	
 	ratio = gtk_spin_button_get_value_as_int (spin);
 	
-	embed = KZ_WINDOW_CURRENT_PAGE(priv->kz);
-	
-	if (KZ_EMBED(embed))
-		kz_embed_zoom_set(KZ_EMBED(embed), ratio, TRUE);
+	kz_embed_zoom_set(embed, ratio, TRUE);
 }
 
 

Modified: kazehakase/trunk/src/dialogs/kz-print-dialog.c
===================================================================
--- kazehakase/trunk/src/dialogs/kz-print-dialog.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/dialogs/kz-print-dialog.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -262,7 +262,8 @@
 	     guint                  n_props,
 	     GObjectConstructParam *props)
 {
-	GtkWidget *widget, *embed;
+	GtkWidget *widget;
+        KzEmbed *embed;
 	KzPrintDialog *print;
 	GObject *object;
 	GObjectClass *klass = G_OBJECT_CLASS(kz_print_dialog_parent_class);
@@ -277,13 +278,13 @@
 	gtk_window_set_title(GTK_WINDOW(print), _("Print"));
 	gtk_window_set_transient_for(GTK_WINDOW(print), GTK_WINDOW(print->parent_window));
 
-	embed = KZ_WINDOW_CURRENT_PAGE(KZ_WINDOW(print->parent_window));
+	embed = KZ_WINDOW_CURRENT_EMBED(KZ_WINDOW(print->parent_window));
 
-	if (KZ_IS_EMBED(embed))
+	if (embed)
 	{
 		GList *printer_list, *node;
 
-		printer_list = kz_embed_get_printer_list(KZ_EMBED(embed));
+		printer_list = kz_embed_get_printer_list(embed);
 
 		for (node = g_list_first(printer_list); node; node = g_list_next(node))
 		{

Modified: kazehakase/trunk/src/kz-feed-info.c
===================================================================
--- kazehakase/trunk/src/kz-feed-info.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/kz-feed-info.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -137,7 +137,7 @@
 void
 kz_feed_info_change_state (KzFeedInfo *info)
 {
-	if (kz_embed_get_nav_links(KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(info->kz)),
+	if (kz_embed_get_nav_links(KZ_WINDOW_CURRENT_EMBED(info->kz),
 				   KZ_EMBED_LINK_RSS))
 		kz_feed_info_setup_for_with_feed(info);
 	else
@@ -197,7 +197,7 @@
 	KzEmbed *embed;
 	gchar *label;
 
-	embed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(info->kz));
+	embed = KZ_WINDOW_CURRENT_EMBED(info->kz);
 	if (!embed) return;
 	
 	switch (event->button) {

Modified: kazehakase/trunk/src/kz-notebook.c
===================================================================
--- kazehakase/trunk/src/kz-notebook.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/kz-notebook.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -790,15 +790,29 @@
 KzEmbed *
 kz_notebook_get_nth_embed (KzNotebook *notebook, gint page_num)
 {
-        GtkWidget *widget;
+	GtkWidget *widget;
 
 	g_return_val_if_fail(KZ_IS_NOTEBOOK(notebook), NULL);
 
 	widget = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), page_num);
 
-        return KZ_EMBED(widget);
+	return KZ_EMBED(widget);
 }
 
+KzTabLabel *
+kz_notebook_get_nth_tab_label (KzNotebook *notebook, gint page_num)
+{
+	GtkWidget *widget;
+
+	g_return_val_if_fail(KZ_IS_NOTEBOOK(notebook), NULL);
+
+	widget = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), page_num);
+	if (!widget)
+		return NULL;
+
+	return KZ_TAB_LABEL(gtk_notebook_get_tab_label(GTK_NOTEBOOK(notebook), widget));
+}
+
 GtkWidget *
 kz_notebook_get_nth_page (KzNotebook *notebook, gint page_num)
 {

Modified: kazehakase/trunk/src/kz-notebook.h
===================================================================
--- kazehakase/trunk/src/kz-notebook.h	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/kz-notebook.h	2009-02-14 05:13:25 UTC (rev 3678)
@@ -64,6 +64,8 @@
 void	    kz_notebook_prev_tab	      (KzNotebook *notebook);
 gboolean    kz_notebook_scroll_tab	      (KzNotebook *notebook,
 					       GdkScrollDirection direction);
+KzTabLabel *kz_notebook_get_nth_tab_label     (KzNotebook *notebook,
+					       gint        page_num);
 GtkWidget  *kz_notebook_get_nth_page          (KzNotebook *notebook,
 					       gint        page_num);
 KzEmbed    *kz_notebook_get_nth_embed         (KzNotebook *notebook,

Modified: kazehakase/trunk/src/kz-statusbar.c
===================================================================
--- kazehakase/trunk/src/kz-statusbar.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/kz-statusbar.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -414,7 +414,7 @@
 cb_find_keyword (GtkWidget *widget, KzStatusbar *bar)
 {
 	KzStatusbarPrivate *priv = KZ_STATUSBAR_GET_PRIVATE (bar);
-	KzEmbed *embed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(priv->kz));
+	KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(priv->kz);
 	GtkToggleButton *toggle = GTK_TOGGLE_BUTTON(priv->find_direction);
 	const gchar *text = gtk_entry_get_text(GTK_ENTRY(widget));
 	gboolean back = gtk_toggle_button_get_active(toggle);
@@ -464,7 +464,7 @@
 	gboolean back;
 
 	priv = KZ_STATUSBAR_GET_PRIVATE(bar);
-	embed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(priv->kz));
+	embed = KZ_WINDOW_CURRENT_EMBED(priv->kz);
 	if (!embed) return;
 
 	toggle = GTK_TOGGLE_BUTTON(priv->find_direction);

Modified: kazehakase/trunk/src/kz-window.c
===================================================================
--- kazehakase/trunk/src/kz-window.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/kz-window.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -606,19 +606,22 @@
 kz_window_append_tab (KzWindow *kz, GtkWidget *widget, GtkWidget *parent)
 {
 	g_return_if_fail(KZ_IS_WINDOW(kz));
-	kz_actions_set_tab_sensitive(kz, KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)));
+	kz_actions_set_tab_sensitive(kz, KZ_WINDOW_CURRENT_EMBED(kz));
 }
 
 
 static void
 kz_window_remove_tab (KzWindow *kz, GtkWidget *widget)
 {
+        KzEmbed *embed;
+
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
 	if (!GTK_WIDGET_REALIZED(kz)) return;
 
-	kz_actions_set_sensitive(kz, KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)));
-	kz_actions_set_tab_sensitive(kz, KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)));
+        embed = KZ_WINDOW_CURRENT_EMBED(kz);
+	kz_actions_set_sensitive(kz, embed);
+	kz_actions_set_tab_sensitive(kz, embed);
 }
 
 
@@ -767,7 +770,7 @@
 	kz_window_sync_proxy(kz);
 
 	/* for stop/reload button updating */
-	kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz));
+	kzembed = KZ_WINDOW_CURRENT_EMBED(kz);
 	kz_actions_set_sensitive(kz, kzembed);
 
 	/* smart bookmark */
@@ -913,7 +916,7 @@
 
 	pos = kz_bookmark_folder_get_current_position(KZ_BOOKMARK_FOLDER(tabs));
 	kz_notebook_set_current_page(KZ_NOTEBOOK(kz->notebook), pos);
-	curembed = KZ_EMBED(KZ_WINDOW_NTH_PAGE(kz, pos));
+	curembed = KZ_WINDOW_NTH_EMBED(kz, pos);
 	if (curembed)
 	{
 		kz_window_set_cur_embed_callbacks(kz, curembed);
@@ -1588,18 +1591,19 @@
 void
 kz_window_load_url (KzWindow *kz, const gchar *url)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+        KzEmbed *embed;
 
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
+        embed = KZ_WINDOW_CURRENT_EMBED(kz);
 	if (kz_notebook_get_n_pages(KZ_NOTEBOOK(kz->notebook)) < 1 ||
-	    !KZ_IS_EMBED(widget))
+	    !embed)
 	{
 		kz_window_open_new_tab(kz, url);
 	}
 	else
 	{
-		kz_embed_load_url(KZ_EMBED(widget), url);
+		kz_embed_load_url(embed, url);
 	}
 }
 
@@ -1607,28 +1611,26 @@
 const gchar *
 kz_window_get_title (KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+        KzEmbed *embed;
 
 	g_return_val_if_fail(KZ_IS_WINDOW(kz), NULL);
 
-	if (KZ_IS_EMBED(widget))
-		return kz_embed_get_title(KZ_EMBED(widget));
-	else
-		return NULL;
+        embed = KZ_WINDOW_CURRENT_EMBED(kz);
+
+	return embed ? kz_embed_get_title(embed) : NULL;
 }
 
 
 const gchar *
 kz_window_get_uri (KzWindow *kz)
 {
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+        KzEmbed *embed;
 
 	g_return_val_if_fail(KZ_IS_WINDOW(kz), NULL);
 
-	if (KZ_IS_EMBED(widget))
-		return kz_embed_get_location(KZ_EMBED(widget));
-	else
-		return NULL;
+        embed = KZ_WINDOW_CURRENT_EMBED(kz);
+
+	return embed ? kz_embed_get_location(embed) : NULL;
 }
 
 
@@ -1929,8 +1931,8 @@
 cb_notebook_switch_page (GtkNotebook *notebook, GtkNotebookPage *page,
 			 guint page_num, KzWindow *kz)
 {
-	KzEmbed *kzembed = KZ_EMBED(KZ_WINDOW_NTH_PAGE(kz, page_num));
-	KzEmbed *cur = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz));
+	KzEmbed *kzembed = KZ_WINDOW_NTH_EMBED(kz, page_num);
+	KzEmbed *cur = KZ_WINDOW_CURRENT_EMBED(kz);
 	const gchar *location;
 	GtkAction *action;
 	KzTabLabel *tab;
@@ -2046,7 +2048,7 @@
 {
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
-	if (embed == KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)))
+	if (embed == KZ_WINDOW_CURRENT_EMBED(kz))
 	{
 		const gchar *title
 			= kz_embed_get_title(KZ_EMBED(embed));
@@ -2065,7 +2067,7 @@
 	newLocation = kz_embed_get_location(KZ_EMBED(embed));
 	if (newLocation)
 	{
-		if (embed == KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)))
+		if (embed == KZ_WINDOW_CURRENT_EMBED(kz))
 			kz_window_set_location_entry_text(kz, newLocation);
 	}
 	else
@@ -2099,7 +2101,7 @@
 {
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
-	kz_actions_set_sensitive(kz, KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)));
+	kz_actions_set_sensitive(kz, KZ_WINDOW_CURRENT_EMBED(kz));
 
 	kz_feed_info_change_state(KZ_FEED_INFO(kz->feed_info));
 }
@@ -2110,7 +2112,7 @@
 {
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 
-	kz_actions_set_sensitive(kz, KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(kz)));
+	kz_actions_set_sensitive(kz, KZ_WINDOW_CURRENT_EMBED(kz));
 
 	kz_feed_info_change_state(KZ_FEED_INFO(kz->feed_info));
 }
@@ -2177,7 +2179,7 @@
 	gint button;
      	glong type;
 	KzTabLabel *kztab = NULL;
-	GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
+	GtkWidget *widget;
 
 	g_return_val_if_fail(KZ_IS_WINDOW(kz), FALSE);
 
@@ -2189,10 +2191,11 @@
 		if ((type & KZ_CONTEXT_LINK) && event->cinfo.link)
 		{
 			const gchar *location;
+			gint current_page;
 
-			kztab = KZ_TAB_LABEL
-				(gtk_notebook_get_tab_label(GTK_NOTEBOOK(kz->notebook),
-							    widget));
+			current_page = kz_notebook_get_current_page(KZ_NOTEBOOK(kz->notebook));
+			kztab = kz_notebook_get_nth_tab_label(KZ_NOTEBOOK(kz->notebook),
+							      current_page);
 
 			/* with Shift key or in locked tab, open new tab */
 			if ((event->modifier & KZ_SHIFT_KEY) ||
@@ -2384,11 +2387,10 @@
 	type = event->cinfo.context;
 	if ((type & KZ_CONTEXT_LINK) && event->cinfo.link)
 	{
-		GtkWidget *widget = KZ_WINDOW_CURRENT_PAGE(kz);
-		GdkDisplay *display = gtk_widget_get_display(widget);
+		KzEmbed *embed = KZ_WINDOW_CURRENT_EMBED(kz);
+		GdkDisplay *display = gtk_widget_get_display(GTK_WIDGET(embed));
 		gint x, y;
 
-		display = gtk_widget_get_display(widget);
 		gdk_display_get_pointer(display, NULL, &x, &y, NULL);
 
 		kz_popup_preview_start(kz->popup, event->cinfo.link, event->cinfo.img, x, y);
@@ -2412,7 +2414,7 @@
 	gint x, y;
 	/* GdkModifierType state; */
 	KzWindowPrivate *priv;
-	KzEmbed *kzembed = KZ_EMBED(KZ_WINDOW_CURRENT_PAGE(KZ_WINDOW(widget)));
+	KzEmbed *kzembed =KZ_WINDOW_CURRENT_EMBED(KZ_WINDOW(widget));
 
 	if (!kzembed)
 		return FALSE;

Modified: kazehakase/trunk/src/kz-window.h
===================================================================
--- kazehakase/trunk/src/kz-window.h	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/kz-window.h	2009-02-14 05:13:25 UTC (rev 3678)
@@ -143,11 +143,6 @@
 void		  kz_window_append_closed_tab	     (KzWindow    *kz,
 						      KzBookmarkFolder  *tab);
 
-#define KZ_WINDOW_NTH_PAGE(kz, n) \
-	(KZ_IS_WINDOW(kz) ? kz_notebook_get_nth_page(KZ_NOTEBOOK(KZ_WINDOW(kz)->notebook),n) : NULL)
-#define KZ_WINDOW_CURRENT_PAGE(kz) \
-	(KZ_IS_WINDOW(kz) ? KZ_WINDOW_NTH_PAGE(kz, kz_notebook_get_current_page(KZ_NOTEBOOK(kz->notebook))) : NULL)
-
 #define KZ_WINDOW_NTH_EMBED(kz, n) \
 	(KZ_IS_WINDOW(kz) ? kz_notebook_get_nth_embed(KZ_NOTEBOOK(KZ_WINDOW(kz)->notebook),n) : NULL)
 #define KZ_WINDOW_CURRENT_EMBED(kz) \

Modified: kazehakase/trunk/src/main.c
===================================================================
--- kazehakase/trunk/src/main.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/main.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -227,7 +227,6 @@
 	KzWindow *kz;
 	KzTabLabel *kztab;
 	const GList *window_list;
-	GtkWidget *widget;
 	GtkAction *action;
 	gchar *action_name;
 	gint action_type;
@@ -297,15 +296,11 @@
 	{
 	 case TAB_ACTION:
 		if (tab_id == -1)
-			widget = KZ_WINDOW_CURRENT_PAGE(kz);
+			kztab = kz_notebook_get_nth_tab_label(KZ_NOTEBOOK(kz->notebook), tab_id);
 		else
-			widget = KZ_WINDOW_NTH_PAGE(kz, tab_id - 1);
-		if (!widget)
-			widget = KZ_WINDOW_CURRENT_PAGE(kz);
-		if (!widget)
+			kztab = kz_notebook_get_nth_tab_label(KZ_NOTEBOOK(kz->notebook), tab_id);
+		if (!kztab)
 			break;
-		kztab = KZ_TAB_LABEL(gtk_notebook_get_tab_label(GTK_NOTEBOOK(kz->notebook),
-								widget));
 
 		action = gtk_action_group_get_action(kz->tabpop_actions,
 						     action_name);

Modified: kazehakase/trunk/src/sidebar/kz-tabtree.c
===================================================================
--- kazehakase/trunk/src/sidebar/kz-tabtree.c	2009-02-14 04:19:54 UTC (rev 3677)
+++ kazehakase/trunk/src/sidebar/kz-tabtree.c	2009-02-14 05:13:25 UTC (rev 3678)
@@ -491,16 +491,8 @@
 
 	for (i = 0; i < num; i++)
 	{
-		KzEmbed *kzembed = KZ_EMBED(KZ_WINDOW_NTH_PAGE(kz, i));
-
-		if (KZ_IS_EMBED(kzembed))
-		{
-			parent_append(tabtree, kzembed, NULL, &iter);
-		}
-		else
-		{
-			g_warning("KzTabTree: Invalid tree item!");
-		}
+		KzEmbed *kzembed = KZ_WINDOW_NTH_EMBED(kz, i);
+		parent_append(tabtree, kzembed, NULL, &iter);
 	}
 }
 




More information about the Kazehakase-cvs mailing list
アーカイブの一覧に戻る