diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2004-12-24 08:21:16 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2004-12-24 08:21:16 +0800 |
commit | d127ec47856ee69466b909af12e5f1020a12cb15 (patch) | |
tree | e8c6dcbd55f1b143983b73878a9177883ac352e6 /src/ephy-location-action.c | |
parent | 93079ee8ea5a7a2e89d4842c9c4cad71724a99f4 (diff) | |
download | gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.tar gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.tar.gz gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.tar.bz2 gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.tar.lz gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.tar.xz gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.tar.zst gsoc2013-epiphany-d127ec47856ee69466b909af12e5f1020a12cb15.zip |
A src/ephy-home-action.c: (ephy_home_action_activate),
2004-12-24 Christian Persch <chpe@cvs.gnome.org>
* lib/ephy-marshal.list:
* src/Makefile.am:
* src/bookmarks/ephy-bookmark-action.c:
(ephy_bookmark_action_get_type), (create_tool_item),
(open_in_tab_activate_cb), (open_in_window_activate_cb),
(activate_cb), (connect_proxy), (ephy_bookmark_action_class_init):
* src/bookmarks/ephy-bookmark-action.h:
* src/bookmarks/ephy-bookmarks-menu.c:
(ephy_bookmarks_menu_get_type), (add_action_for_bookmark),
(ephy_bookmarks_menu_class_init):
* src/bookmarks/ephy-bookmarks-menu.h:
* src/bookmarks/ephy-bookmarksbar.c: (ephy_bookmarksbar_get_type),
(ephy_bookmarksbar_action_request):
* src/bookmarks/ephy-favorites-menu.c:
(ephy_favorites_menu_get_type), (ephy_favorites_menu_rebuild):
* src/bookmarks/ephy-favorites-menu.h:
* src/bookmarks/ephy-topic-action.c: (ephy_topic_action_get_type),
(menu_activate_cb), (open_in_tabs_activate_cb),
(ephy_topic_action_class_init):
* src/bookmarks/ephy-topic-action.h:
A src/ephy-home-action.c: (ephy_home_action_activate),
(ephy_home_action_class_init), (ephy_home_action_get_type):
A src/ephy-home-action.h:
A src/ephy-link-action.c: (ephy_link_action_get_type):
A src/ephy-link-action.h:
A src/ephy-link.c: (ephy_link_flags_get_type),
(ephy_link_base_init), (ephy_link_get_type), (ephy_link_open):
A src/ephy-link.h:
* src/ephy-location-action.c: (ephy_location_action_get_type),
(action_activated_cb), (location_url_activate_cb), (connect_proxy),
(disconnect_proxy), (ephy_location_action_class_init):
* src/ephy-location-action.h:
* src/ephy-navigation-action.c: (ephy_navigation_action_get_type),
(activate_back_or_forward_menu_item_cb),
(activate_up_menu_item_cb), (build_back_or_forward_menu),
(build_up_menu):
* src/ephy-navigation-action.h:
* src/ephy-shell.c: (ephy_shell_new_tab):
* src/ephy-window.c: (setup_ui_manager), (open_link_cb),
(ephy_window_init):
* src/toolbar.c: (toolbar_get_type), (toolbar_setup_actions):
* src/window-commands.c:
* src/window-commands.h:
Consolidate link opening in one place by introducing an EphyLink interface
which bookmarks, topics, navigation, location, home, toolbars, bookmarks menu
and favourites menu implement, forwarding the link opening to the window.
Diffstat (limited to 'src/ephy-location-action.c')
-rw-r--r-- | src/ephy-location-action.c | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/src/ephy-location-action.c b/src/ephy-location-action.c index b34ac0de7..4194b48f8 100644 --- a/src/ephy-location-action.c +++ b/src/ephy-location-action.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2003 Marco Pesenti Gritti - * Copyright (C) 2003 Christian Persch + * Copyright (C) 2003, 2004 Marco Pesenti Gritti + * Copyright (C) 2003, 2004 Christian Persch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #include "ephy-location-entry.h" #include "ephy-shell.h" #include "ephy-completion-model.h" +#include "ephy-link.h" #include "ephy-debug.h" #include <gtk/gtkentry.h> @@ -57,16 +58,8 @@ enum PROP_EDITABLE }; -enum -{ - GO_LOCATION, - LAST_SIGNAL -}; - static GObjectClass *parent_class = NULL; -static guint signals[LAST_SIGNAL] = { 0 }; - GType ephy_location_action_get_type (void) { @@ -87,7 +80,7 @@ ephy_location_action_get_type (void) (GInstanceInitFunc) ephy_location_action_init, }; - type = g_type_register_static (GTK_TYPE_ACTION, + type = g_type_register_static (EPHY_TYPE_LINK_ACTION, "EphyLocationAction", &type_info, 0); } @@ -120,8 +113,8 @@ action_activated_cb (GtkEntryCompletion *completion, (action->priv->bookmarks, smart_url, content); g_return_if_fail (url != NULL); - g_signal_emit (action, signals[GO_LOCATION], 0, url); - + ephy_link_open (EPHY_LINK (action), url, NULL, 0); + g_free (url); g_free (content); } @@ -134,9 +127,9 @@ location_url_activate_cb (GtkEntry *entry, const char *content; content = gtk_entry_get_text (entry); - if (content) + if (content != NULL) { - g_signal_emit (action, signals[GO_LOCATION], 0, content); + ephy_link_open (EPHY_LINK (action), content, NULL, 0); } } @@ -260,7 +253,7 @@ connect_proxy (GtkAction *action, GtkWidget *proxy) G_CALLBACK (user_changed_cb), action, 0); } - (* GTK_ACTION_CLASS (parent_class)->connect_proxy) (action, proxy); + GTK_ACTION_CLASS (parent_class)->connect_proxy (action, proxy); } static void @@ -284,7 +277,7 @@ disconnect_proxy (GtkAction *action, GtkWidget *proxy) (proxy, G_CALLBACK (user_changed_cb), action); } - (* GTK_ACTION_CLASS (parent_class)->disconnect_proxy) (action, proxy); + GTK_ACTION_CLASS (parent_class)->disconnect_proxy (action, proxy); } static void @@ -341,17 +334,6 @@ ephy_location_action_class_init (EphyLocationActionClass *class) action_class->connect_proxy = connect_proxy; action_class->disconnect_proxy = disconnect_proxy; - signals[GO_LOCATION] = - g_signal_new ("go_location", - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (EphyLocationActionClass, go_location), - NULL, NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, - 1, - G_TYPE_STRING); - g_object_class_install_property (object_class, PROP_ADDRESS, g_param_spec_string ("address", |