| 480 if (saved_status != NULL) |
480 if (saved_status != NULL) |
| 481 purple_savedstatus_activate(saved_status); |
481 purple_savedstatus_activate(saved_status); |
| 482 } |
482 } |
| 483 |
483 |
| 484 static GtkWidget * |
484 static GtkWidget * |
| 485 new_menu_item_with_status_icon(GtkWidget *menu, const char *str, PurpleStatusPrimitive primitive, GtkSignalFunc sf, gpointer data, guint accel_key, guint accel_mods, char *mod) |
485 new_menu_item_with_status_icon(GtkWidget *menu, const char *str, PurpleStatusPrimitive primitive, GCallback cb, gpointer data, guint accel_key, guint accel_mods, char *mod) |
| 486 { |
486 { |
| 487 GtkWidget *menuitem; |
487 GtkWidget *menuitem; |
| 488 GdkPixbuf *pixbuf; |
488 GdkPixbuf *pixbuf; |
| 489 GtkWidget *image; |
489 GtkWidget *image; |
| 490 |
490 |
| 491 menuitem = gtk_image_menu_item_new_with_label(str); |
491 menuitem = gtk_image_menu_item_new_with_label(str); |
| 492 |
492 |
| 493 if (menu) |
493 if (menu) |
| 494 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
494 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| 495 |
495 |
| 496 if (sf) |
496 if (cb) |
| 497 g_signal_connect(G_OBJECT(menuitem), "activate", sf, data); |
497 g_signal_connect(G_OBJECT(menuitem), "activate", cb, data); |
| 498 |
498 |
| 499 pixbuf = pidgin_create_status_icon(primitive, menu, PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL); |
499 pixbuf = pidgin_create_status_icon(primitive, menu, PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL); |
| 500 image = gtk_image_new_from_pixbuf(pixbuf); |
500 image = gtk_image_new_from_pixbuf(pixbuf); |
| 501 g_object_unref(pixbuf); |
501 g_object_unref(pixbuf); |
| 502 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
502 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |