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 }