Hiroyuki Ikezoe
ikezo****@users*****
Sun Jan 7 06:06:20 JST 2007
Index: kazehakase/src/actions/kz-actions-tab.c
diff -u kazehakase/src/actions/kz-actions-tab.c:1.39 kazehakase/src/actions/kz-actions-tab.c:1.40
--- kazehakase/src/actions/kz-actions-tab.c:1.39 Fri Aug 25 13:05:20 2006
+++ kazehakase/src/actions/kz-actions-tab.c Sun Jan 7 06:06:20 2007
@@ -25,6 +25,7 @@
#include "gtk-utils.h"
#include "kazehakase.h"
#include "kz-icons.h"
+#include "kz-notebook.h"
#include "kz-actions-dynamic.h"
static GQuark kztab_quark = 0;
@@ -100,18 +101,11 @@
};
static void
-close_all_tab (GtkAction *action, KzWindow *kz, gint mode)
+close_tabs (KzWindow *kz, KzNotebookCloseCondition condition)
{
KzTabLabel *kztab;
GtkNotebook *notebook;
- gint num, pos;
- gint i;
-
- if(mode == KZ_TAB_CLOSE_ALL_TABS)
- {
- kz_window_close_all_tab(kz);
- return;
- }
+ gint pos;
g_return_if_fail(KZ_IS_WINDOW(kz));
@@ -119,45 +113,34 @@
g_return_if_fail(KZ_IS_TAB_LABEL(kztab));
notebook = GTK_NOTEBOOK(kztab->kz->notebook);
- num = gtk_notebook_get_n_pages(notebook);
pos = gtk_notebook_page_num(notebook, GTK_WIDGET(kztab->kzembed));
- if (num < 2 || pos < 0) return;
-
- for (i = num - 1; i >= 0; i--)
- {
- GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kztab->kz, i);
-
- if (i == pos) continue;
- if (i > pos && mode == KZ_TAB_CLOSE_BACKWARD) continue;
- if (i < pos && mode == KZ_TAB_CLOSE_FORWARD) continue;
-
- kz_window_close_tab(kztab->kz, widget);
- }
+ kz_notebook_close_tabs(KZ_NOTEBOOK(notebook), condition, pos);
}
static void
act_tab_close_left (GtkAction *action, KzWindow *kz)
{
- close_all_tab(action, kz, KZ_TAB_CLOSE_BACKWARD);
+ close_tabs(kz, KZ_NOTEBOOK_CLOSE_BACKWARD);
}
static void
act_tab_close_right (GtkAction *action, KzWindow *kz)
{
- close_all_tab(action, kz, KZ_TAB_CLOSE_FORWARD);
+ close_tabs(kz, KZ_NOTEBOOK_CLOSE_FORWARD);
}
static void
-act_tab_close_all_inactive_active (GtkAction *action, KzWindow *kz)
+act_tab_close_all_inactive (GtkAction *action, KzWindow *kz)
{
- close_all_tab(action, kz, KZ_TAB_CLOSE_INACTIVE);
+ close_tabs(kz, KZ_NOTEBOOK_CLOSE_INACTIVE);
}
static void
act_tab_close_all_tabs (GtkAction *action, KzWindow *kz)
{
- close_all_tab(action, kz, KZ_TAB_CLOSE_ALL_TABS);
+ g_return_if_fail(KZ_IS_WINDOW(kz));
+ kz_window_close_all_tab(kz);
}
static gboolean
@@ -393,7 +376,7 @@
NULL, NULL, G_CALLBACK(act_tab_close_right)},
{"TabCloseAllInactiveTabs", GTK_STOCK_CLOSE, N_("Close all _inactive tabs"),
- NULL, NULL, G_CALLBACK(act_tab_close_all_inactive_active)},
+ NULL, NULL, G_CALLBACK(act_tab_close_all_inactive)},
{"TabCloseAllTabs", GTK_STOCK_CLOSE, N_("Clos_e all tabs"),
NULL, NULL, G_CALLBACK(act_tab_close_all_tabs)},
Index: kazehakase/src/actions/kz-actions.c
diff -u kazehakase/src/actions/kz-actions.c:1.240 kazehakase/src/actions/kz-actions.c:1.241
--- kazehakase/src/actions/kz-actions.c:1.240 Sat Jan 6 13:54:53 2007
+++ kazehakase/src/actions/kz-actions.c Sun Jan 7 06:06:20 2007
@@ -901,60 +901,39 @@
static void
-act_tab_close_backward_all (GtkAction *action, KzWindow *kz)
+close_tabs (KzNotebook *notebook, KzNotebookCloseCondition condition)
{
- gint i, pos, num;
+ gint pos;
- g_return_if_fail(KZ_IS_WINDOW (kz));
+ pos = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
- pos = gtk_notebook_get_current_page(GTK_NOTEBOOK(kz->notebook));
- num = gtk_notebook_get_n_pages(GTK_NOTEBOOK(kz->notebook));
+ kz_notebook_close_tabs(notebook, condition, pos);
+}
- for (i = pos - 1; i >= 0; i--)
- {
- GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kz, i);
+static void
+act_tab_close_backward_all (GtkAction *action, KzWindow *kz)
+{
+ g_return_if_fail(KZ_IS_WINDOW (kz));
- kz_window_close_tab(kz, widget);
- }
+ close_tabs(KZ_NOTEBOOK(kz->notebook), KZ_NOTEBOOK_CLOSE_BACKWARD);
}
static void
act_tab_close_forward_all (GtkAction *action, KzWindow *kz)
{
- gint i, pos, num;
-
g_return_if_fail(KZ_IS_WINDOW (kz));
- pos = gtk_notebook_get_current_page(GTK_NOTEBOOK(kz->notebook));
- num = gtk_notebook_get_n_pages(GTK_NOTEBOOK(kz->notebook));
-
- for (i = num - 1; i > pos; i--)
- {
- GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kz, i);
-
- kz_window_close_tab(kz, widget);
- }
+ close_tabs(KZ_NOTEBOOK(kz->notebook), KZ_NOTEBOOK_CLOSE_FORWARD);
}
static void
act_tab_close_all_inactive_active (GtkAction *action, KzWindow *kz)
{
- gint i, pos, num;
-
g_return_if_fail(KZ_IS_WINDOW (kz));
- pos = gtk_notebook_get_current_page(GTK_NOTEBOOK(kz->notebook));
- num = gtk_notebook_get_n_pages(GTK_NOTEBOOK(kz->notebook));
-
- for (i = num - 1; i >= 0; i--)
- {
- GtkWidget *widget = KZ_WINDOW_NTH_PAGE(kz, i);
-
- if (i == pos) continue;
- kz_window_close_tab(kz, widget);
- }
+ close_tabs(KZ_NOTEBOOK(kz->notebook), KZ_NOTEBOOK_CLOSE_INACTIVE);
}
static void