aboutsummaryrefslogtreecommitdiffstats
path: root/src/bookmarks/ephy-bookmarksbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bookmarks/ephy-bookmarksbar.c')
-rw-r--r--src/bookmarks/ephy-bookmarksbar.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/bookmarks/ephy-bookmarksbar.c b/src/bookmarks/ephy-bookmarksbar.c
index 3855090cc..249971491 100644
--- a/src/bookmarks/ephy-bookmarksbar.c
+++ b/src/bookmarks/ephy-bookmarksbar.c
@@ -98,9 +98,19 @@ ephy_bookmarksbar_get_type (void)
}
static void
-go_location_cb (GtkAction *action,
- char *location,
- EphyBookmarksBar *toolbar)
+open_in_tabs_cb (GtkAction *action, GList *uri_list, EphyBookmarksBar *toolbar)
+{
+ EphyWindow *window = toolbar->priv->window;
+ EphyTab *tab;
+
+ g_return_if_fail (EPHY_IS_WINDOW (window));
+
+ tab = ephy_window_get_active_tab (window);
+ ephy_window_load_in_tabs (window, tab, uri_list);
+}
+
+static void
+go_location_cb (GtkAction *action, char *location, EphyBookmarksBar *toolbar)
{
EphyWindow *window = toolbar->priv->window;
GdkEvent *event;
@@ -233,6 +243,9 @@ ephy_bookmarksbar_action_request (EggEditableToolbar *eggtoolbar,
if (ephy_node_has_child (topics, node))
{
action = ephy_topic_action_new (name, ephy_node_get_id (node));
+
+ g_signal_connect (action, "open_in_tabs",
+ G_CALLBACK (open_in_tabs_cb), toolbar);
}
else if (ephy_node_has_child (bmks, node))
{
@@ -243,6 +256,7 @@ ephy_bookmarksbar_action_request (EggEditableToolbar *eggtoolbar,
g_signal_connect (action, "go_location",
G_CALLBACK (go_location_cb), toolbar);
+
gtk_action_group_add_action (toolbar->priv->action_group, action);
g_object_unref (action);