diff options
Diffstat (limited to 'src/ephy-link.c')
-rw-r--r-- | src/ephy-link.c | 120 |
1 files changed, 55 insertions, 65 deletions
diff --git a/src/ephy-link.c b/src/ephy-link.c index aa0fd05de..262bdb449 100644 --- a/src/ephy-link.c +++ b/src/ephy-link.c @@ -25,10 +25,9 @@ #include "ephy-gui.h" #include "ephy-debug.h" -enum -{ - OPEN_LINK, - LAST_SIGNAL +enum { + OPEN_LINK, + LAST_SIGNAL }; static guint signals[LAST_SIGNAL]; @@ -38,30 +37,30 @@ G_DEFINE_INTERFACE (EphyLink, ephy_link, G_TYPE_OBJECT) static void ephy_link_default_init (EphyLinkInterface *iface) { - /** - * EphyLink::open-link: - * @address: the address of @link - * @embed: #EphyEmbed associated with @link - * @flags: flags for @link - * - * The ::open-link signal is emitted when @link is requested to - * open it's associated @address. - * - * Returns: (transfer none): the #EphyEmbed where @address has - * been handled. - **/ - signals[OPEN_LINK] = g_signal_new - ("open-link", - EPHY_TYPE_LINK, - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EphyLinkInterface, open_link), - ephy_signal_accumulator_object, ephy_embed_get_type, - NULL, - GTK_TYPE_WIDGET /* Can't use an interface type here */, - 3, - G_TYPE_STRING, - GTK_TYPE_WIDGET /* Can't use an interface type here */, - EPHY_TYPE_LINK_FLAGS); + /** + * EphyLink::open-link: + * @address: the address of @link + * @embed: #EphyEmbed associated with @link + * @flags: flags for @link + * + * The ::open-link signal is emitted when @link is requested to + * open it's associated @address. + * + * Returns: (transfer none): the #EphyEmbed where @address has + * been handled. + **/ + signals[OPEN_LINK] = g_signal_new + ("open-link", + EPHY_TYPE_LINK, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EphyLinkInterface, open_link), + ephy_signal_accumulator_object, ephy_embed_get_type, + NULL, + GTK_TYPE_WIDGET /* Can't use an interface type here */, + 3, + G_TYPE_STRING, + GTK_TYPE_WIDGET /* Can't use an interface type here */, + EPHY_TYPE_LINK_FLAGS); } /** @@ -76,53 +75,44 @@ ephy_link_default_init (EphyLinkInterface *iface) * Returns: (transfer none): the #EphyEmbed where @link opened. */ EphyEmbed * -ephy_link_open (EphyLink *link, - const char *address, - EphyEmbed *embed, - EphyLinkFlags flags) +ephy_link_open (EphyLink *link, + const char *address, + EphyEmbed *embed, + EphyLinkFlags flags) { - EphyEmbed *new_embed = NULL; + EphyEmbed *new_embed = NULL; - LOG ("ephy_link_open address \"%s\" parent-embed %p flags %u", address, embed, flags); + LOG ("ephy_link_open address \"%s\" parent-embed %p flags %u", address, embed, flags); - g_signal_emit (link, signals[OPEN_LINK], 0, - address, embed, flags, - &new_embed); + g_signal_emit (link, signals[OPEN_LINK], 0, + address, embed, flags, + &new_embed); - return new_embed; + return new_embed; } EphyLinkFlags ephy_link_flags_from_current_event (void) { - GdkEventType type = GDK_NOTHING; - guint state = 0, button = (guint) -1; - EphyLinkFlags flags = 0; + GdkEventType type = GDK_NOTHING; + guint state = 0, button = (guint) - 1; + EphyLinkFlags flags = 0; - ephy_gui_get_current_event (&type, &state, &button); + ephy_gui_get_current_event (&type, &state, &button); - if (button == 2 && (type == GDK_BUTTON_PRESS || type == GDK_BUTTON_RELEASE)) - { - if (state == GDK_SHIFT_MASK) - { - flags = EPHY_LINK_NEW_WINDOW; - } - else if (state == 0 || state == GDK_CONTROL_MASK) - { - flags = EPHY_LINK_NEW_TAB | EPHY_LINK_NEW_TAB_APPEND_AFTER; - } - } - else - { - if (state == (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) - { - flags = EPHY_LINK_NEW_WINDOW; - } - else if (state == GDK_CONTROL_MASK) - { - flags = EPHY_LINK_NEW_TAB | EPHY_LINK_NEW_TAB_APPEND_AFTER; - } - } + if (button == 2 && (type == GDK_BUTTON_PRESS || type == GDK_BUTTON_RELEASE)) { + if (state == GDK_SHIFT_MASK) { + flags = EPHY_LINK_NEW_WINDOW; + } else if (state == 0 || state == GDK_CONTROL_MASK) { + flags = EPHY_LINK_NEW_TAB | EPHY_LINK_NEW_TAB_APPEND_AFTER; + } + } else { + if (state == (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) { + flags = EPHY_LINK_NEW_WINDOW; + } else if (state == GDK_CONTROL_MASK) { + flags = EPHY_LINK_NEW_TAB | EPHY_LINK_NEW_TAB_APPEND_AFTER; + } + } - return flags; + return flags; } |