From 28f21a63da9ecf36ec2b32e9070071b9e1678ec7 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 1 Feb 2008 00:36:34 +0000 Subject: Make middle clicking on Back/Forward toolbar buttons open again in a new tab, as it was in 2.20. Bug #513029. svn path=/trunk/; revision=7903 --- src/ephy-navigation-action.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ephy-navigation-action.c b/src/ephy-navigation-action.c index 21a7c053e..a8876b699 100644 --- a/src/ephy-navigation-action.c +++ b/src/ephy-navigation-action.c @@ -394,18 +394,44 @@ ephy_navigation_action_activate (GtkAction *gtk_action) if (action->priv->direction == EPHY_NAVIGATION_DIRECTION_BACK) { - ephy_embed_go_back (embed); + EphyHistoryItem *back_item; + char *url; + + back_item = ephy_embed_get_previous_history_item (embed); + if (back_item == NULL) return; + + url = ephy_history_item_get_url (back_item); + ephy_link_open (EPHY_LINK (action), + url, + NULL, + ephy_gui_is_middle_click () ? EPHY_LINK_NEW_TAB : 0); + g_free (url); } else if (action->priv->direction == EPHY_NAVIGATION_DIRECTION_FORWARD) { - ephy_embed_go_forward (embed); + EphyHistoryItem *forward_item; + char *url; + + forward_item = ephy_embed_get_next_history_item (embed); + if (forward_item == NULL) return; + + url = ephy_history_item_get_url (forward_item); + ephy_link_open (EPHY_LINK (action), + url, + NULL, + ephy_gui_is_middle_click () ? EPHY_LINK_NEW_TAB : 0); + g_free (url); } else if (action->priv->direction == EPHY_NAVIGATION_DIRECTION_UP) { + GSList *up_list; + + up_list = ephy_embed_get_go_up_list (embed); ephy_link_open (EPHY_LINK (action), - ephy_embed_get_go_up_list (embed)->data, + up_list->data, NULL, ephy_gui_is_middle_click () ? EPHY_LINK_NEW_TAB : 0); + g_slist_free (up_list); } } -- cgit v1.2.3