pidgin/ljfisher-ssl-client-auth

Parents 188ce0465fb6
Children 6833b5e3f687
I think draw should replace expose_event here, but the status selector is still not seen...
--- a/pidgin/gtkconv.c Mon Nov 29 08:05:42 2010 +0000
+++ b/pidgin/gtkconv.c Mon Nov 29 09:23:05 2010 +0000
@@ -4721,8 +4721,8 @@
if (ABS(diff) < oneline.height / 2)
return FALSE;
- purple_debug_info("pidgin", "resizing to %d, %d lines\n",
- lower_hbox_allocation.height, min_lines);
+ purple_debug_info("pidgin", "resizing to %d, %d lines, diff %d\n",
+ diff + lower_hbox_allocation.height, min_lines, diff);
gtk_widget_set_size_request(gtkconv->lower_hbox, -1,
diff + lower_hbox_allocation.height);
--- a/pidgin/gtkstatusbox.c Mon Nov 29 08:05:42 2010 +0000
+++ b/pidgin/gtkstatusbox.c Mon Nov 29 09:23:05 2010 +0000
@@ -84,7 +84,7 @@
static void pidgin_status_box_changed(PidginStatusBox *box);
/*static void pidgin_status_box_size_request (GtkWidget *widget, GtkRequisition *requisition);*/
static void pidgin_status_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation);
-/*static gboolean pidgin_status_box_expose_event (GtkWidget *widget, GdkEventExpose *event);*/
+static gboolean pidgin_status_box_draw (GtkWidget *widget, cairo_t *cr);
static void pidgin_status_box_redisplay_buddy_icon(PidginStatusBox *status_box);
static void pidgin_status_box_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data);
static void pidgin_status_box_popup(PidginStatusBox *box);
@@ -619,8 +619,7 @@
/* this seems to be removed in GTK+ 3...*/
/*widget_class->size_request = pidgin_status_box_size_request;*/
widget_class->size_allocate = pidgin_status_box_size_allocate;
- /* this seems to be removed in GTK+ 3...*/
- /*widget_class->expose_event = pidgin_status_box_expose_event;*/
+ widget_class->draw = pidgin_status_box_draw;
container_class->child_type = pidgin_status_box_child_type;
container_class->forall = pidgin_status_box_forall;
@@ -1748,7 +1747,7 @@
GtkWidget *toplevel;
GtkTreeSelection *sel;
- gtk_widget_set_has_window(GTK_WIDGET(status_box), FALSE);
+ gtk_widget_set_has_window(GTK_WIDGET(status_box), FALSE);
status_box->imhtml_visible = FALSE;
status_box->network_available = purple_network_is_available();
status_box->connecting = FALSE;
@@ -2045,23 +2044,23 @@
gtk_widget_set_allocation(GTK_WIDGET(status_box), allocation);
}
-/* TODO: don't think this is nessesary in GTK+ 3 */
-#if 0
static gboolean
-pidgin_status_box_expose_event(GtkWidget *widget,
- GdkEventExpose *event)
+pidgin_status_box_draw(GtkWidget *widget, cairo_t *cr)
{
PidginStatusBox *status_box = PIDGIN_STATUS_BOX(widget);
- gtk_container_propagate_expose(GTK_CONTAINER(widget), status_box->vbox, event);
- gtk_container_propagate_expose(GTK_CONTAINER(widget), status_box->toggle_button, event);
+ gtk_widget_draw(status_box->vbox, cr);
+ gtk_widget_draw(status_box->toggle_button, cr);
+
if (status_box->icon_box && status_box->icon_opaque) {
- gtk_paint_box(widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL,
- status_box->icon_box, "button", status_box->icon_box->allocation.x-1, status_box->icon_box->allocation.y-1,
+ GtkAllocation allocation;
+
+ gtk_widget_get_allocation(status_box->icon_box, &allocation);
+ gtk_paint_box(gtk_widget_get_style(widget), cr, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+ status_box->icon_box, "button", allocation.x-1, allocation.y-1,
34, 34);
}
return FALSE;
}
-#endif
static void
pidgin_status_box_forall(GtkContainer *container,