diff options
Diffstat (limited to 'src/ephy-link-action.c')
-rw-r--r-- | src/ephy-link-action.c | 140 |
1 files changed, 65 insertions, 75 deletions
diff --git a/src/ephy-link-action.c b/src/ephy-link-action.c index 9c48ad712..980e1b1be 100644 --- a/src/ephy-link-action.c +++ b/src/ephy-link-action.c @@ -28,116 +28,106 @@ #include <gtk/gtk.h> G_DEFINE_TYPE_WITH_CODE (EphyLinkAction, ephy_link_action, EPHY_TYPE_WINDOW_ACTION, - G_IMPLEMENT_INTERFACE (EPHY_TYPE_LINK, - NULL)) + G_IMPLEMENT_INTERFACE (EPHY_TYPE_LINK, + NULL)) #define EPHY_LINK_ACTION_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_LINK_ACTION, EphyLinkActionPrivate)) -struct _EphyLinkActionPrivate -{ - guint button; +struct _EphyLinkActionPrivate { + guint button; }; static gboolean -proxy_button_press_event_cb (GtkButton *button, - GdkEventButton *event, - EphyLinkAction *action) +proxy_button_press_event_cb (GtkButton *button, + GdkEventButton *event, + EphyLinkAction *action) { - action->priv->button = event->button; + action->priv->button = event->button; - return FALSE; + return FALSE; } static GtkWidget * get_event_widget (GtkWidget *proxy) { - GtkWidget *widget; - - /* - * Finding the interesting widget requires internal knowledge of - * the widgets in question. This can't be helped, but by keeping - * the sneaky code in one place, it can easily be updated. - */ - if (GTK_IS_MENU_ITEM (proxy)) - { - /* Menu items already forward middle clicks */ - widget = NULL; - } - else if (GTK_IS_TOOL_BUTTON (proxy)) - { - /* The tool button's button is the direct child */ - widget = gtk_bin_get_child (GTK_BIN (proxy)); - } - else if (GTK_IS_BUTTON (proxy)) - { - widget = proxy; - } - else - { - /* Don't touch anything we don't know about */ - widget = NULL; - } - - return widget; + GtkWidget *widget; + + /* + * Finding the interesting widget requires internal knowledge of + * the widgets in question. This can't be helped, but by keeping + * the sneaky code in one place, it can easily be updated. + */ + if (GTK_IS_MENU_ITEM (proxy)) { + /* Menu items already forward middle clicks */ + widget = NULL; + } else if (GTK_IS_TOOL_BUTTON (proxy)) { + /* The tool button's button is the direct child */ + widget = gtk_bin_get_child (GTK_BIN (proxy)); + } else if (GTK_IS_BUTTON (proxy)) { + widget = proxy; + } else { + /* Don't touch anything we don't know about */ + widget = NULL; + } + + return widget; } static void ephy_link_action_connect_proxy (GtkAction *action, GtkWidget *proxy) { - GtkWidget *widget; + GtkWidget *widget; - LOG ("Connect link action proxy"); + LOG ("Connect link action proxy"); - widget = get_event_widget (proxy); - if (widget) - { - g_signal_connect (widget, "button-press-event", - G_CALLBACK (proxy_button_press_event_cb), - action); - } + widget = get_event_widget (proxy); + if (widget) { + g_signal_connect (widget, "button-press-event", + G_CALLBACK (proxy_button_press_event_cb), + action); + } - GTK_ACTION_CLASS (ephy_link_action_parent_class)->connect_proxy (action, proxy); + GTK_ACTION_CLASS (ephy_link_action_parent_class)->connect_proxy (action, proxy); } static void ephy_link_action_disconnect_proxy (GtkAction *action, GtkWidget *proxy) { - GtkWidget *widget; + GtkWidget *widget; - LOG ("Disconnect link action proxy"); + LOG ("Disconnect link action proxy"); - widget = get_event_widget (proxy); - if (widget) - { - g_signal_handlers_disconnect_by_func (widget, - G_CALLBACK (proxy_button_press_event_cb), - action); - } + widget = get_event_widget (proxy); + if (widget) { + g_signal_handlers_disconnect_by_func (widget, + G_CALLBACK (proxy_button_press_event_cb), + action); + } - GTK_ACTION_CLASS (ephy_link_action_parent_class)->disconnect_proxy (action, proxy); + GTK_ACTION_CLASS (ephy_link_action_parent_class)->disconnect_proxy (action, proxy); } static void ephy_link_action_init (EphyLinkAction *action) { - action->priv = EPHY_LINK_ACTION_GET_PRIVATE (action); + action->priv = EPHY_LINK_ACTION_GET_PRIVATE (action); } static void ephy_link_action_class_init (EphyLinkActionClass *class) { - GtkActionClass *action_class = GTK_ACTION_CLASS (class); + GtkActionClass *action_class = GTK_ACTION_CLASS (class); - action_class->connect_proxy = ephy_link_action_connect_proxy; - action_class->disconnect_proxy = ephy_link_action_disconnect_proxy; + action_class->connect_proxy = ephy_link_action_connect_proxy; + action_class->disconnect_proxy = ephy_link_action_disconnect_proxy; - g_type_class_add_private (G_OBJECT_CLASS (class), sizeof (EphyLinkActionPrivate)); + g_type_class_add_private (G_OBJECT_CLASS (class), sizeof (EphyLinkActionPrivate)); } /** * ephy_link_action_get_button: * @action: an #EphyLinkAction - * + * * This method stores the mouse button number that last activated, or * is activating, the @action. This is useful because #GtkButton's * cannot be clicked with a middle click by default, so inside @@ -146,37 +136,37 @@ ephy_link_action_class_init (EphyLinkActionClass *class) * EphyGUI methods like ephy_gui_is_middle_click not work here, so we * need to ask the @action directly about the button that activated * it. - * + * * Returns: the button number that last activated (or is activating) the @action **/ guint ephy_link_action_get_button (EphyLinkAction *action) { - g_return_val_if_fail (EPHY_IS_LINK_ACTION (action), 0); + g_return_val_if_fail (EPHY_IS_LINK_ACTION (action), 0); - return action->priv->button; + return action->priv->button; } G_DEFINE_TYPE_WITH_CODE (EphyLinkActionGroup, ephy_link_action_group, GTK_TYPE_ACTION_GROUP, - G_IMPLEMENT_INTERFACE (EPHY_TYPE_LINK, - NULL)) + G_IMPLEMENT_INTERFACE (EPHY_TYPE_LINK, + NULL)) static void ephy_link_action_group_class_init (EphyLinkActionGroupClass *klass) { - /* Empty, needed for G_DEFINE_TYPE macro */ + /* Empty, needed for G_DEFINE_TYPE macro */ } static void ephy_link_action_group_init (EphyLinkActionGroup *action_group) { - /* Empty, needed for G_DEFINE_TYPE macro */ + /* Empty, needed for G_DEFINE_TYPE macro */ } EphyLinkActionGroup * -ephy_link_action_group_new (const char * name) +ephy_link_action_group_new (const char *name) { - return g_object_new (EPHY_TYPE_LINK_ACTION_GROUP, - "name", name, - NULL); + return g_object_new (EPHY_TYPE_LINK_ACTION_GROUP, + "name", name, + NULL); } |