| 396 gtk_widget_show(menuitem); |
396 gtk_widget_show(menuitem); |
| 397 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
397 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| 398 return menuitem; |
398 return menuitem; |
| 399 } |
399 } |
| 400 |
400 |
| 401 GtkWidget *pidgin_new_item(GtkWidget *menu, const char *str) |
|
| 402 { |
|
| 403 GtkWidget *menuitem; |
|
| 404 GtkWidget *label; |
|
| 405 |
|
| 406 menuitem = gtk_menu_item_new(); |
|
| 407 if (menu) |
|
| 408 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
|
| 409 gtk_widget_show(menuitem); |
|
| 410 |
|
| 411 label = gtk_label_new(str); |
|
| 412 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
| 413 gtk_label_set_pattern(GTK_LABEL(label), "_"); |
|
| 414 gtk_container_add(GTK_CONTAINER(menuitem), label); |
|
| 415 gtk_widget_show(label); |
|
| 416 /* FIXME: Go back and fix this |
|
| 417 gtk_widget_add_accelerator(menuitem, "activate", accel, str[0], |
|
| 418 GDK_MOD1_MASK, GTK_ACCEL_LOCKED); |
|
| 419 */ |
|
| 420 pidgin_set_accessible_label(menuitem, GTK_LABEL(label)); |
|
| 421 return menuitem; |
|
| 422 } |
|
| 423 |
|
| 424 GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str, |
401 GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str, |
| 425 GCallback cb, gpointer data, gboolean checked) |
402 GCallback cb, gpointer data, gboolean checked) |
| 426 { |
403 { |
| 427 GtkWidget *menuitem; |
404 GtkWidget *menuitem; |
| 428 menuitem = gtk_check_menu_item_new_with_mnemonic(str); |
405 menuitem = gtk_check_menu_item_new_with_mnemonic(str); |
| 504 |
481 |
| 505 return button; |
482 return button; |
| 506 } |
483 } |
| 507 |
484 |
| 508 |
485 |
| 509 GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const char *icon, GCallback cb, gpointer data, guint accel_key, guint accel_mods, char *mod) |
486 GtkWidget *pidgin_new_menu_item(GtkWidget *menu, const char *mnemonic, |
| |
487 const char *icon, GCallback cb, gpointer data) |
| 510 { |
488 { |
| 511 GtkWidget *menuitem; |
489 GtkWidget *menuitem; |
| 512 /* |
490 GtkWidget *box; |
| 513 GtkWidget *hbox; |
|
| 514 GtkWidget *label; |
491 GtkWidget *label; |
| 515 */ |
492 |
| 516 GtkWidget *image; |
493 box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); |
| 517 |
494 |
| 518 if (icon == NULL) |
495 menuitem = gtk_menu_item_new(); |
| 519 menuitem = gtk_menu_item_new_with_mnemonic(str); |
496 |
| 520 else |
497 if (cb) |
| 521 menuitem = gtk_image_menu_item_new_with_mnemonic(str); |
498 g_signal_connect(G_OBJECT(menuitem), "activate", cb, data); |
| |
499 |
| |
500 if (icon) { |
| |
501 GtkWidget *image; |
| |
502 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_MENU); |
| |
503 gtk_container_add(GTK_CONTAINER(box), image); |
| |
504 } |
| |
505 |
| |
506 label = gtk_label_new_with_mnemonic(mnemonic); |
| |
507 gtk_container_add(GTK_CONTAINER(box), label); |
| |
508 |
| |
509 gtk_container_add(GTK_CONTAINER(menuitem), box); |
| 522 |
510 |
| 523 if (menu) |
511 if (menu) |
| 524 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
512 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| 525 |
|
| 526 if (cb) |
|
| 527 g_signal_connect(G_OBJECT(menuitem), "activate", cb, data); |
|
| 528 |
|
| 529 if (icon != NULL) { |
|
| 530 image = gtk_image_new_from_stock(icon, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); |
|
| 531 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
|
| 532 } |
|
| 533 /* FIXME: this isn't right |
|
| 534 if (mod) { |
|
| 535 label = gtk_label_new(mod); |
|
| 536 gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 2); |
|
| 537 gtk_widget_show(label); |
|
| 538 } |
|
| 539 */ |
|
| 540 /* |
|
| 541 if (accel_key) { |
|
| 542 gtk_widget_add_accelerator(menuitem, "activate", accel, accel_key, |
|
| 543 accel_mods, GTK_ACCEL_LOCKED); |
|
| 544 } |
|
| 545 */ |
|
| 546 |
513 |
| 547 gtk_widget_show_all(menuitem); |
514 gtk_widget_show_all(menuitem); |
| 548 |
515 |
| 549 return menuitem; |
516 return menuitem; |
| 550 } |
517 } |