aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ephy-link.c4
-rw-r--r--src/ephy-link.h7
-rw-r--r--src/ephy-window.c5
3 files changed, 10 insertions, 6 deletions
diff --git a/src/ephy-link.c b/src/ephy-link.c
index 988132826..46cb9a19d 100644
--- a/src/ephy-link.c
+++ b/src/ephy-link.c
@@ -139,7 +139,7 @@ ephy_link_flags_from_current_event (void)
}
else if (state == 0 || state == GDK_CONTROL_MASK)
{
- flags = EPHY_LINK_NEW_TAB;
+ flags = EPHY_LINK_NEW_TAB | EPHY_LINK_NEW_TAB_APPEND_AFTER;
}
}
else
@@ -150,7 +150,7 @@ ephy_link_flags_from_current_event (void)
}
else if (state == GDK_CONTROL_MASK)
{
- flags = EPHY_LINK_NEW_TAB;
+ flags = EPHY_LINK_NEW_TAB | EPHY_LINK_NEW_TAB_APPEND_AFTER;
}
}
diff --git a/src/ephy-link.h b/src/ephy-link.h
index 5d1a7f8c8..af293f379 100644
--- a/src/ephy-link.h
+++ b/src/ephy-link.h
@@ -43,9 +43,10 @@ typedef struct _EphyLinkIface EphyLinkIface;
typedef enum
{
- EPHY_LINK_NEW_WINDOW = 1 << 0,
- EPHY_LINK_NEW_TAB = 1 << 1,
- EPHY_LINK_JUMP_TO = 1 << 2,
+ EPHY_LINK_NEW_WINDOW = 1 << 0,
+ EPHY_LINK_NEW_TAB = 1 << 1,
+ EPHY_LINK_JUMP_TO = 1 << 2,
+ EPHY_LINK_NEW_TAB_APPEND_AFTER = 1 << 3
} EphyLinkFlags;
struct _EphyLinkIface
diff --git a/src/ephy-window.c b/src/ephy-window.c
index b4e2a28a1..d0d41351b 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -3504,9 +3504,12 @@ ephy_window_open_link (EphyLink *link,
}
else
{
- ntflags |= EPHY_NEW_TAB_IN_EXISTING_WINDOW | EPHY_NEW_TAB_APPEND_AFTER;
+ ntflags |= EPHY_NEW_TAB_IN_EXISTING_WINDOW;
}
+ if (flags & EPHY_LINK_NEW_TAB_APPEND_AFTER)
+ ntflags |= EPHY_NEW_TAB_APPEND_AFTER;
+
new_embed = ephy_shell_new_tab
(ephy_shell,
EPHY_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (embed))),