| 1250 { |
1250 { |
| 1251 GtkGaimStatusBox *status_box = GTK_GAIM_STATUS_BOX(widget); |
1251 GtkGaimStatusBox *status_box = GTK_GAIM_STATUS_BOX(widget); |
| 1252 GtkRequisition req = {0,0}; |
1252 GtkRequisition req = {0,0}; |
| 1253 GtkAllocation parent_alc, box_alc, icon_alc; |
1253 GtkAllocation parent_alc, box_alc, icon_alc; |
| 1254 GdkPixbuf *scaled; |
1254 GdkPixbuf *scaled; |
| |
1255 gint border_width = GTK_CONTAINER (widget)->border_width; |
| 1255 |
1256 |
| 1256 combo_box_size_request(widget, &req); |
1257 combo_box_size_request(widget, &req); |
| 1257 |
1258 |
| 1258 box_alc = *allocation; |
1259 box_alc = *allocation; |
| 1259 box_alc.height = MAX(1, (allocation->height - req.height - 6)); |
1260 |
| 1260 box_alc.y += req.height + 6; |
1261 box_alc.width -= (border_width * 2); |
| |
1262 box_alc.height = MAX(1, ((allocation->height - req.height) - (border_width*2))); |
| |
1263 box_alc.x += border_width; |
| |
1264 box_alc.y += req.height + border_width; |
| 1261 gtk_widget_size_allocate((GTK_GAIM_STATUS_BOX(widget))->vbox, &box_alc); |
1265 gtk_widget_size_allocate((GTK_GAIM_STATUS_BOX(widget))->vbox, &box_alc); |
| 1262 |
1266 |
| 1263 parent_alc = *allocation; |
1267 parent_alc = *allocation; |
| 1264 parent_alc.height = MAX(1,req.height); |
1268 parent_alc.height = MAX(1,req.height - (border_width )); |
| 1265 parent_alc.y += 3; |
1269 parent_alc.width -= (border_width * 2); |
| |
1270 parent_alc.x += border_width; |
| |
1271 parent_alc.y += border_width; |
| 1266 |
1272 |
| 1267 if (status_box->icon_box) |
1273 if (status_box->icon_box) |
| 1268 { |
1274 { |
| 1269 parent_alc.width -= (parent_alc.height + 3); |
1275 parent_alc.width -= (parent_alc.height + border_width); |
| 1270 icon_alc = *allocation; |
1276 icon_alc = *allocation; |
| 1271 icon_alc.height = MAX(1,req.height); |
1277 icon_alc.height = MAX(1,req.height) - (border_width); |
| 1272 icon_alc.width = icon_alc.height; |
1278 icon_alc.width = icon_alc.height; |
| 1273 icon_alc.x = allocation->width - icon_alc.width; |
1279 icon_alc.x = allocation->width - (icon_alc.width + border_width); |
| 1274 icon_alc.y += 3; |
1280 icon_alc.y += border_width; |
| 1275 |
1281 |
| 1276 if (status_box->icon_size != icon_alc.height) |
1282 if (status_box->icon_size != icon_alc.height) |
| 1277 { |
1283 { |
| 1278 if (status_box->buddy_icon_hover) |
1284 if (status_box->buddy_icon_hover) |
| 1279 g_object_unref(status_box->buddy_icon_hover); |
1285 g_object_unref(status_box->buddy_icon_hover); |
| 1280 if ((status_box->buddy_icon_path != NULL) && |
1286 if ((status_box->buddy_icon_path != NULL) && |