Mercurial > pidgin
comparison pidgin/pidgintooltip.c @ 32672:3828a61c44da
A boring and large patch so I can merge heads.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Dec 2011 08:21:58 +0000 |
parents | e2a1510da13d |
children |
comparison
equal
deleted
inserted
replaced
32671:0e69949b3e61 | 32672:3828a61c44da |
---|---|
99 pidgin_tooltip.tipwindow = NULL; | 99 pidgin_tooltip.tipwindow = NULL; |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 static gboolean | 103 static gboolean |
104 pidgin_tooltip_draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) | 104 pidgin_tooltip_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) |
105 { | 105 { |
106 GtkAllocation allocation; | |
107 | |
108 gtk_widget_get_allocation(widget, &allocation); | |
109 | |
110 if (pidgin_tooltip.paint_tooltip) { | 106 if (pidgin_tooltip.paint_tooltip) { |
111 gtk_paint_flat_box(gtk_widget_get_style(widget), cr, | 107 gtk_paint_flat_box(widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, |
112 GTK_STATE_NORMAL, GTK_SHADOW_OUT, | 108 NULL, widget, "tooltip", 0, 0, -1, -1); |
113 widget, "tooltip", 0, 0, allocation.width, allocation.height); | |
114 pidgin_tooltip.paint_tooltip(widget, data); | 109 pidgin_tooltip.paint_tooltip(widget, data); |
115 } | 110 } |
116 return FALSE; | 111 return FALSE; |
117 } | 112 } |
118 | 113 |
192 | 187 |
193 gtk_widget_set_size_request(tipwindow, w, h); | 188 gtk_widget_set_size_request(tipwindow, w, h); |
194 gtk_window_move(GTK_WINDOW(tipwindow), x, y); | 189 gtk_window_move(GTK_WINDOW(tipwindow), x, y); |
195 gtk_widget_show(tipwindow); | 190 gtk_widget_show(tipwindow); |
196 | 191 |
197 g_signal_connect(G_OBJECT(tipwindow), "draw", | 192 g_signal_connect(G_OBJECT(tipwindow), "expose_event", |
198 G_CALLBACK(pidgin_tooltip_draw_cb), data); | 193 G_CALLBACK(pidgin_tooltip_expose_event), data); |
199 | 194 |
200 /* Hide the tooltip when the widget is destroyed */ | 195 /* Hide the tooltip when the widget is destroyed */ |
201 sig = g_signal_connect(G_OBJECT(pidgin_tooltip.widget), "destroy", G_CALLBACK(pidgin_tooltip_destroy), NULL); | 196 sig = g_signal_connect(G_OBJECT(pidgin_tooltip.widget), "destroy", G_CALLBACK(pidgin_tooltip_destroy), NULL); |
202 g_signal_connect_swapped(G_OBJECT(tipwindow), "destroy", G_CALLBACK(g_source_remove), GINT_TO_POINTER(sig)); | 197 g_signal_connect_swapped(G_OBJECT(tipwindow), "destroy", G_CALLBACK(g_source_remove), GINT_TO_POINTER(sig)); |
203 } | 198 } |