forked from AuroraMiddleware/gtk
gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
Don't remove the tooltip window when the tip text changes. (#15891)
This commit is contained in:
parent
dc43576615
commit
abea7e4283
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2001-08-13 Matthias Clasen <matthiasc@waldgeist.poet.de>
|
||||||
|
|
||||||
|
* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips):
|
||||||
|
Don't remove the tooltip window when the tip text changes. (#15891)
|
||||||
|
|
||||||
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
Sun Aug 12 12:02:09 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
* gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra
|
||||||
|
@ -243,43 +243,61 @@ gtk_tooltips_set_tip (GtkTooltips *tooltips,
|
|||||||
g_return_if_fail (widget != NULL);
|
g_return_if_fail (widget != NULL);
|
||||||
|
|
||||||
tooltipsdata = gtk_tooltips_data_get (widget);
|
tooltipsdata = gtk_tooltips_data_get (widget);
|
||||||
if (tooltipsdata)
|
|
||||||
gtk_tooltips_widget_remove (tooltipsdata->widget, tooltipsdata);
|
|
||||||
|
|
||||||
if (!tip_text)
|
if (!tip_text)
|
||||||
return;
|
|
||||||
|
|
||||||
tooltipsdata = g_new0 (GtkTooltipsData, 1);
|
|
||||||
|
|
||||||
if (tooltipsdata != NULL)
|
|
||||||
{
|
{
|
||||||
|
if (tooltipsdata)
|
||||||
|
gtk_tooltips_widget_remove (tooltipsdata->widget, tooltipsdata);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tooltips->active_tips_data
|
||||||
|
&& tooltips->active_tips_data->widget == widget
|
||||||
|
&& GTK_WIDGET_DRAWABLE (tooltips->active_tips_data->widget))
|
||||||
|
{
|
||||||
|
g_free (tooltipsdata->tip_text);
|
||||||
|
g_free (tooltipsdata->tip_private);
|
||||||
|
|
||||||
|
tooltipsdata->tip_text = g_strdup (tip_text);
|
||||||
|
tooltipsdata->tip_private = g_strdup (tip_private);
|
||||||
|
|
||||||
|
gtk_tooltips_draw_tips (tooltips);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_widget_ref (widget);
|
||||||
|
|
||||||
|
if (tooltipsdata)
|
||||||
|
gtk_tooltips_widget_remove (tooltipsdata->widget, tooltipsdata);
|
||||||
|
|
||||||
|
tooltipsdata = g_new0 (GtkTooltipsData, 1);
|
||||||
|
|
||||||
tooltipsdata->tooltips = tooltips;
|
tooltipsdata->tooltips = tooltips;
|
||||||
tooltipsdata->widget = widget;
|
tooltipsdata->widget = widget;
|
||||||
gtk_widget_ref (widget);
|
|
||||||
|
|
||||||
tooltipsdata->tip_text = g_strdup (tip_text);
|
tooltipsdata->tip_text = g_strdup (tip_text);
|
||||||
tooltipsdata->tip_private = g_strdup (tip_private);
|
tooltipsdata->tip_private = g_strdup (tip_private);
|
||||||
|
|
||||||
tooltips->tips_data_list = g_list_append (tooltips->tips_data_list,
|
tooltips->tips_data_list = g_list_append (tooltips->tips_data_list,
|
||||||
tooltipsdata);
|
tooltipsdata);
|
||||||
gtk_signal_connect_after(GTK_OBJECT (widget), "event",
|
gtk_signal_connect_after (GTK_OBJECT (widget), "event",
|
||||||
(GtkSignalFunc) gtk_tooltips_event_handler,
|
(GtkSignalFunc) gtk_tooltips_event_handler,
|
||||||
(gpointer) tooltipsdata);
|
tooltipsdata);
|
||||||
|
|
||||||
gtk_object_set_data (GTK_OBJECT (widget), tooltips_data_key,
|
gtk_object_set_data (GTK_OBJECT (widget), tooltips_data_key,
|
||||||
(gpointer) tooltipsdata);
|
tooltipsdata);
|
||||||
|
|
||||||
gtk_signal_connect (GTK_OBJECT (widget), "unmap",
|
gtk_signal_connect (GTK_OBJECT (widget), "unmap",
|
||||||
(GtkSignalFunc) gtk_tooltips_widget_unmap,
|
(GtkSignalFunc) gtk_tooltips_widget_unmap,
|
||||||
(gpointer) tooltipsdata);
|
tooltipsdata);
|
||||||
|
|
||||||
gtk_signal_connect (GTK_OBJECT (widget), "unrealize",
|
gtk_signal_connect (GTK_OBJECT (widget), "unrealize",
|
||||||
(GtkSignalFunc) gtk_tooltips_widget_unmap,
|
(GtkSignalFunc) gtk_tooltips_widget_unmap,
|
||||||
(gpointer) tooltipsdata);
|
tooltipsdata);
|
||||||
|
|
||||||
gtk_signal_connect (GTK_OBJECT (widget), "destroy",
|
gtk_signal_connect (GTK_OBJECT (widget), "destroy",
|
||||||
(GtkSignalFunc) gtk_tooltips_widget_remove,
|
(GtkSignalFunc) gtk_tooltips_widget_remove,
|
||||||
(gpointer) tooltipsdata);
|
tooltipsdata);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,10 +324,7 @@ gtk_tooltips_draw_tips (GtkTooltips * tooltips)
|
|||||||
if (!tooltips->tip_window)
|
if (!tooltips->tip_window)
|
||||||
gtk_tooltips_force_window (tooltips);
|
gtk_tooltips_force_window (tooltips);
|
||||||
else if (GTK_WIDGET_VISIBLE (tooltips->tip_window))
|
else if (GTK_WIDGET_VISIBLE (tooltips->tip_window))
|
||||||
{
|
g_get_current_time (&tooltips->last_popdown);
|
||||||
gtk_widget_hide (tooltips->tip_window);
|
|
||||||
g_get_current_time (&tooltips->last_popdown);
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_widget_ensure_style (tooltips->tip_window);
|
gtk_widget_ensure_style (tooltips->tip_window);
|
||||||
style = tooltips->tip_window->style;
|
style = tooltips->tip_window->style;
|
||||||
@ -344,7 +359,7 @@ gtk_tooltips_draw_tips (GtkTooltips * tooltips)
|
|||||||
else
|
else
|
||||||
y = y + widget->allocation.height + 4;
|
y = y + widget->allocation.height + 4;
|
||||||
|
|
||||||
gtk_widget_set_uposition (tooltips->tip_window, x, y);
|
gtk_window_move (tooltips->tip_window, x, y);
|
||||||
gtk_widget_show (tooltips->tip_window);
|
gtk_widget_show (tooltips->tip_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user