From 9b4f934fde6bf75a32fedf98fcaf51870112d9ca Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Mon, 18 Sep 2017 17:11:40 -0400 Subject: src/tab-chrome.c: Use toggle button for tab history stack --- (limited to 'src') diff --git a/src/tab-chrome.c b/src/tab-chrome.c index c164b5e..7a9aba9 100644 --- a/src/tab-chrome.c +++ b/src/tab-chrome.c @@ -40,12 +40,22 @@ forward_clicked_cb(GtkButton __attribute__((unused)) *toolbutton, webkit_web_view_go_forward(chrome->web_view); } +static void +back_forward_toggle_button_toggled(GtkToggleButton *toggle_button, + GtkStack *stack) +{ + gtk_stack_set_visible_child(stack, gtk_stack_get_child_by_name( + stack, + gtk_toggle_button_get_active(toggle_button) ? + "text" : "list")); +} + static gboolean back_forward_box_button_press_cb(GtkWidget *widget, GdkEvent *event, MqTabChrome *chrome) { GtkWidget *stack; - GtkWidget *stack_switcher; + GtkWidget *toggle_button; GtkWidget *box; GtkWidget *popover; @@ -54,25 +64,19 @@ back_forward_box_button_press_cb(GtkWidget *widget, GdkEvent *event, } stack = gtk_stack_new(); - gtk_stack_add_titled(GTK_STACK(stack), gtk_label_new("List"), "list", "LIST"); - gtk_stack_add_titled(GTK_STACK(stack), gtk_label_new("Text"), "text", "TEXT"); - - stack_switcher = gtk_stack_switcher_new(); - gtk_stack_switcher_set_stack(GTK_STACK_SWITCHER(stack_switcher), + gtk_stack_add_named(GTK_STACK(stack), gtk_label_new("List"), "list"); + gtk_stack_add_named(GTK_STACK(stack), gtk_label_new("Text"), "text"); + + toggle_button = gtk_toggle_button_new(); + gtk_button_set_image(GTK_BUTTON(toggle_button), + gtk_image_new_from_icon_name("edit-select-all", + GTK_ICON_SIZE_SMALL_TOOLBAR)); + g_signal_connect(toggle_button, "toggled", + G_CALLBACK(back_forward_toggle_button_toggled), GTK_STACK(stack)); - /* - gtk_box_pack_start(GTK_BOX(stack_switcher), - gtk_image_new_from_icon_name("view-list-symbolic", - GTK_ICON_SIZE_SMALL_TOOLBAR), - FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(stack_switcher), - gtk_image_new_from_icon_name("edit-select-all-symbolic", - GTK_ICON_SIZE_SMALL_TOOLBAR), - FALSE, FALSE, 0); - */ box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); - gtk_box_pack_start(GTK_BOX(box), stack_switcher, TRUE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(box), toggle_button, TRUE, FALSE, 0); gtk_box_pack_start(GTK_BOX(box), stack, TRUE, FALSE, 0); popover = gtk_popover_new(widget); -- cgit v0.9.1