From 0c598aa8e3fd37f4cb2e7b16957b06ac78b710ce Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Wed, 4 Feb 2004 22:39:28 +0000 Subject: gtk+ now connects the tool item's create_menu_proxy to the action's 2004-02-04 Christian Persch * src/ephy-go-action.c: (ephy_go_action_get_type), (create_tool_item), (ephy_go_action_class_init): gtk+ now connects the tool item's create_menu_proxy to the action's create_menu_item, so we don't need to do it ourselves. Also unnecessary to do connect_proxy. The go action is now almost empty, we should really see if we can use a stock gtktoolbutton for it. 2004-02-04 Christian Persch --- src/ephy-go-action.c | 86 +++++----------------------------------------------- 1 file changed, 7 insertions(+), 79 deletions(-) (limited to 'src/ephy-go-action.c') diff --git a/src/ephy-go-action.c b/src/ephy-go-action.c index ffc5951b1..92c62c0f2 100644 --- a/src/ephy-go-action.c +++ b/src/ephy-go-action.c @@ -15,10 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ */ #ifdef HAVE_CONFIG_H -#include +#include "config.h" #endif #include "ephy-go-action.h" @@ -28,11 +30,7 @@ #include #include -#define MENU_ID "ephy-go-action-menu-id" - -static void ephy_go_action_init (EphyGoAction *action); static void ephy_go_action_class_init (EphyGoActionClass *class); -static void ephy_go_action_finalize (GObject *object); static GObjectClass *parent_class = NULL; @@ -41,7 +39,7 @@ ephy_go_action_get_type (void) { static GType type = 0; - if (!type) + if (type == 0) { static const GTypeInfo type_info = { @@ -53,20 +51,15 @@ ephy_go_action_get_type (void) NULL, sizeof (EphyGoAction), 0, /* n_preallocs */ - (GInstanceInitFunc) ephy_go_action_init, + (GInstanceInitFunc) NULL, }; type = g_type_register_static (GTK_TYPE_ACTION, "EphyGoAction", &type_info, 0); } - return type; -} -static void -activate_cb (GtkWidget *widget, GtkAction *action) -{ - g_signal_emit_by_name (action, "activate"); + return type; } static GtkWidget * @@ -79,9 +72,6 @@ create_tool_item (GtkAction *action) button = gtk_button_new_with_label (_("Go")); gtk_button_set_relief(GTK_BUTTON (button), GTK_RELIEF_NONE); - - g_signal_connect (G_OBJECT (button), "clicked", - G_CALLBACK (activate_cb), action); gtk_container_add (GTK_CONTAINER (item), button); gtk_widget_show (button); @@ -89,74 +79,12 @@ create_tool_item (GtkAction *action) return item; } -static GtkWidget * -create_menu_item (GtkAction *action) -{ - GtkWidget *menu_item; - - menu_item = gtk_menu_item_new_with_label (_("Go")); - g_signal_connect (G_OBJECT (menu_item), "activate", - G_CALLBACK (activate_cb), action); - - return menu_item; -} - -static gboolean -create_menu_proxy_cb (GtkToolItem *item, GtkAction *action) -{ - GtkWidget *menu_item; - - menu_item = GTK_ACTION_GET_CLASS (action)->create_menu_item (action); - - GTK_ACTION_GET_CLASS (action)->connect_proxy (action, menu_item); - - gtk_tool_item_set_proxy_menu_item (item, MENU_ID, menu_item); - - return TRUE; -} - -static void -connect_proxy (GtkAction *action, GtkWidget *proxy) -{ - (* GTK_ACTION_CLASS (parent_class)->connect_proxy) (action, proxy); - - g_return_if_fail (EPHY_IS_GO_ACTION (action)); - - if (GTK_IS_TOOL_ITEM (proxy)) - { - g_signal_connect (proxy, "create_menu_proxy", - G_CALLBACK (create_menu_proxy_cb), action); - } -} - static void ephy_go_action_class_init (EphyGoActionClass *class) { - GtkActionClass *action_class; - GObjectClass *object_class = G_OBJECT_CLASS (class); - - object_class->finalize = ephy_go_action_finalize; + GtkActionClass *action_class = GTK_ACTION_CLASS (class); parent_class = g_type_class_peek_parent (class); - action_class = GTK_ACTION_CLASS (class); action_class->create_tool_item = create_tool_item; - action_class->menu_item_type = GTK_TYPE_MENU_ITEM; - action_class->create_menu_item = create_menu_item; - action_class->connect_proxy = connect_proxy; -} - -static void -ephy_go_action_init (EphyGoAction *action) -{ -} - -static void -ephy_go_action_finalize (GObject *object) -{ - g_return_if_fail (EPHY_IS_GO_ACTION (object)); - - LOG ("Go action finalized") - - G_OBJECT_CLASS (parent_class)->finalize (object); } -- cgit v1.2.3