summaryrefslogtreecommitdiff
path: root/plugins/gtkui/widgets.c
diff options
context:
space:
mode:
authorGravatar Tydus <Tydus@Tydus.org>2011-11-01 20:32:27 +0800
committerGravatar waker <wakeroid@gmail.com>2011-11-03 18:52:48 +0100
commit68e5d9028ed55cc2dc4fc8d9274ae74a07a304e4 (patch)
tree2e5fd2f6d38a4a376d2fb87756adb32c65eb9b87 /plugins/gtkui/widgets.c
parentdadc370fceaa3d4ffe329ba06d3ebb0b2c4d8308 (diff)
Implemented move tab to right
Use a easy (and not hard to understand) way to move: If it's the last tab, abort click the tab right of it move it to left and click it click the tab right of it
Diffstat (limited to 'plugins/gtkui/widgets.c')
-rw-r--r--plugins/gtkui/widgets.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/gtkui/widgets.c b/plugins/gtkui/widgets.c
index c0856e3c..26d2524e 100644
--- a/plugins/gtkui/widgets.c
+++ b/plugins/gtkui/widgets.c
@@ -745,12 +745,27 @@ on_move_tab_left_activate (GtkMenuItem *menuitem, gpointer user_data) {
gtk_notebook_insert_page (GTK_NOTEBOOK (w->base.widget), newchild->widget, eventbox, w->clicked_page-1);
gtk_notebook_set_page (GTK_NOTEBOOK (w->base.widget), w->clicked_page-1);
+ w->clicked_page--;
break;
}
prev = c;
}
}
+static void
+on_move_tab_right_activate (GtkMenuItem *menuitem, gpointer user_data) {
+ w_tabs_t *w = user_data;
+
+ int i = 0;
+ for (ddb_gtkui_widget_t *c = w->base.children; c; c = c->next, i++);
+ if (w->clicked_page >= i)
+ return;
+
+ gtk_notebook_set_page (GTK_NOTEBOOK (w->base.widget), ++w->clicked_page);
+ on_move_tab_left_activate (menuitem, user_data);
+ gtk_notebook_set_page (GTK_NOTEBOOK (w->base.widget), ++w->clicked_page);
+}
+
static gboolean
tab_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data) {
if (event->button != 3) {
@@ -773,6 +788,9 @@ tab_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_
item = gtk_menu_item_new_with_mnemonic (_("Move tab right"));
gtk_widget_show (item);
gtk_container_add (GTK_CONTAINER (menu), item);
+ g_signal_connect ((gpointer) item, "activate",
+ G_CALLBACK (on_move_tab_right_activate),
+ w);
item = gtk_menu_item_new_with_mnemonic (_("Remove tab"));
gtk_widget_show (item);