aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rwxr-xr-xlib/egg/egg-editable-toolbar.c22
2 files changed, 27 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c949e7a91..a747c55c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-01-31 Peter Harvey <peter.a.harvey@gmail.com>
+
+ * lib/egg/egg-editable-toolbar.c
+
+ Add tooltips to toolitems again (reverses a regression).
+ Use _forall instead of _foreach when connecting signals,
+ to make sure that widgets like Zoom get a right-click menu.
+
2006-02-01 Christian Persch <chpe@cvs.gnome.org>
* embed/mozilla/EphyPromptService.cpp:
diff --git a/lib/egg/egg-editable-toolbar.c b/lib/egg/egg-editable-toolbar.c
index 9fb204968..532debb1d 100755
--- a/lib/egg/egg-editable-toolbar.c
+++ b/lib/egg/egg-editable-toolbar.c
@@ -418,14 +418,28 @@ configure_item_cursor (GtkToolItem *item,
}
}
+
+static void
+configure_item_tooltip (GtkToolItem *item)
+{
+ GtkAction *action = g_object_get_data (G_OBJECT (item),
+ "gtk-action");
+
+ if (action != NULL)
+ {
+ g_object_notify (G_OBJECT (action), "tooltip");
+ }
+}
+
+
static void
connect_widget_signals (GtkWidget *proxy, EggEditableToolbar *etoolbar)
{
if (GTK_IS_CONTAINER (proxy))
{
- gtk_container_foreach (GTK_CONTAINER (proxy),
- (GtkCallback) connect_widget_signals,
- (gpointer) etoolbar);
+ gtk_container_forall (GTK_CONTAINER (proxy),
+ (GtkCallback) connect_widget_signals,
+ (gpointer) etoolbar);
}
if (GTK_IS_TOOL_ITEM (proxy))
@@ -1031,6 +1045,7 @@ item_added_cb (EggToolbarsModel *model,
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, ipos);
connect_widget_signals (GTK_WIDGET (item), etoolbar);
+ configure_item_tooltip (item);
configure_item_cursor (item, etoolbar);
configure_item_sensitivity (item, etoolbar);
@@ -1099,6 +1114,7 @@ egg_editable_toolbar_build (EggEditableToolbar *etoolbar)
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, l);
connect_widget_signals (GTK_WIDGET (item), etoolbar);
+ configure_item_tooltip (item);
configure_item_sensitivity (item, etoolbar);
}
else