aboutsummaryrefslogtreecommitdiffstats
path: root/src/toolbar.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-05-14 02:22:35 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-05-14 02:22:35 +0800
commit1730a037daf5c370cc61bf8babd5c40fd816ef8a (patch)
treef41f5f0fbd65bdec6cca4683ec9671442863f876 /src/toolbar.c
parent704e1716a071203b9eb81be8f525eab008d2f547 (diff)
downloadgsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.tar
gsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.tar.gz
gsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.tar.bz2
gsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.tar.lz
gsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.tar.xz
gsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.tar.zst
gsoc2013-epiphany-1730a037daf5c370cc61bf8babd5c40fd816ef8a.zip
Revert api change. So we keep 2.2 compatibility.
2003-05-13 Marco Pesenti Gritti <marco@it.gnome.org> * embed/mozilla/ExternalProtocolService.cpp: Revert api change. So we keep 2.2 compatibility. * lib/widgets/ephy-location-entry.c: (ephy_location_entry_class_init), (location_focus_out_cb), (ephy_location_entry_activate_cb): * lib/widgets/ephy-location-entry.h: Add a finished callback to know when the user finished using location. * src/bookmarks/ephy-bookmarks.c: (history_site_visited_cb), (ephy_bookmarks_set_icon): Remove unused vars. Bad xan. * src/toolbar.c: (location_finished_cb), (toolbar_activate_location): Show the toolbar on ctrl+l, hide it again when the user finished to edit (focus out/activate)
Diffstat (limited to 'src/toolbar.c')
-rwxr-xr-xsrc/toolbar.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/toolbar.c b/src/toolbar.c
index 01f265a75..89c4e165d 100755
--- a/src/toolbar.c
+++ b/src/toolbar.c
@@ -36,6 +36,7 @@
#include "ephy-debug.h"
#include "ephy-new-bookmark.h"
#include "ephy-stock-icons.h"
+#include "eggtoolbar.h"
#include <string.h>
@@ -565,11 +566,22 @@ toolbar_edit_location (Toolbar *t)
(EPHY_LOCATION_ENTRY(location));
}
+static void
+location_finished_cb (GtkWidget *location, GtkWidget *toolbar)
+{
+ gtk_widget_hide (toolbar);
+
+ g_signal_handlers_disconnect_by_func (G_OBJECT (location),
+ G_CALLBACK (location_finished_cb),
+ toolbar);
+}
+
void
toolbar_activate_location (Toolbar *t)
{
EggAction *action;
GtkWidget *location;
+ GtkWidget *location_tb;
action = egg_action_group_get_action
(t->priv->action_group, "Location");
@@ -577,6 +589,16 @@ toolbar_activate_location (Toolbar *t)
(EPHY_LOCATION_ACTION (action));
g_return_if_fail (location != NULL);
+ location_tb = gtk_widget_get_ancestor (location, EGG_TYPE_TOOLBAR);
+ g_return_if_fail (location_tb != NULL);
+
+ if (!GTK_WIDGET_VISIBLE (location_tb))
+ {
+ g_signal_connect (location, "finished",
+ G_CALLBACK (location_finished_cb), location_tb);
+ gtk_widget_show (location_tb);
+ }
+
ephy_location_entry_activate
(EPHY_LOCATION_ENTRY(location));
}