pidgin/gtkutils.c

changeset 35721
abae078d0525
parent 35720
863f87bfc06e
child 35735
39ba84113a68
equal deleted inserted replaced
35720:863f87bfc06e 35721:abae078d0525
406 gtk_widget_show(label); 406 gtk_widget_show(label);
407 /* FIXME: Go back and fix this 407 /* FIXME: Go back and fix this
408 gtk_widget_add_accelerator(menuitem, "activate", accel, str[0], 408 gtk_widget_add_accelerator(menuitem, "activate", accel, str[0],
409 GDK_MOD1_MASK, GTK_ACCEL_LOCKED); 409 GDK_MOD1_MASK, GTK_ACCEL_LOCKED);
410 */ 410 */
411 pidgin_set_accessible_label (menuitem, label); 411 pidgin_set_accessible_label(menuitem, GTK_LABEL(label));
412 return menuitem; 412 return menuitem;
413 } 413 }
414 414
415 GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str, 415 GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str,
416 GCallback cb, gpointer data, gboolean checked) 416 GCallback cb, gpointer data, gboolean checked)
453 453
454 GtkWidget * 454 GtkWidget *
455 pidgin_pixbuf_button_from_stock(const char *text, const char *icon, 455 pidgin_pixbuf_button_from_stock(const char *text, const char *icon,
456 PidginButtonOrientation style) 456 PidginButtonOrientation style)
457 { 457 {
458 GtkWidget *button, *image, *label, *bbox, *ibox, *lbox = NULL; 458 GtkWidget *button, *image, *bbox, *ibox, *lbox = NULL;
459 459
460 button = gtk_button_new(); 460 button = gtk_button_new();
461 461
462 if (style == PIDGIN_BUTTON_HORIZONTAL) { 462 if (style == PIDGIN_BUTTON_HORIZONTAL) {
463 bbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); 463 bbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
478 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_BUTTON); 478 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_BUTTON);
479 gtk_box_pack_end(GTK_BOX(ibox), image, FALSE, TRUE, 0); 479 gtk_box_pack_end(GTK_BOX(ibox), image, FALSE, TRUE, 0);
480 } 480 }
481 481
482 if (text) { 482 if (text) {
483 GtkLabel *label;
484
483 gtk_box_pack_start(GTK_BOX(bbox), lbox, TRUE, TRUE, 0); 485 gtk_box_pack_start(GTK_BOX(bbox), lbox, TRUE, TRUE, 0);
484 label = gtk_label_new(NULL); 486 label = GTK_LABEL(gtk_label_new(NULL));
485 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); 487 gtk_label_set_text_with_mnemonic(label, text);
486 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); 488 gtk_label_set_mnemonic_widget(label, button);
487 gtk_box_pack_start(GTK_BOX(lbox), label, FALSE, TRUE, 0); 489 gtk_box_pack_start(GTK_BOX(lbox), GTK_WIDGET(label),
488 pidgin_set_accessible_label (button, label); 490 FALSE, TRUE, 0);
491 pidgin_set_accessible_label(button, label);
489 } 492 }
490 493
491 gtk_widget_show_all(bbox); 494 gtk_widget_show_all(bbox);
492 495
493 return button; 496 return button;
538 } 541 }
539 542
540 GtkWidget * 543 GtkWidget *
541 pidgin_make_frame(GtkWidget *parent, const char *title) 544 pidgin_make_frame(GtkWidget *parent, const char *title)
542 { 545 {
543 GtkWidget *vbox, *vbox2, *label, *hbox; 546 GtkWidget *vbox, *vbox2, *hbox;
547 GtkLabel *label;
544 char *labeltitle; 548 char *labeltitle;
545 549
546 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); 550 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE);
547 gtk_box_pack_start(GTK_BOX(parent), vbox, FALSE, FALSE, 0); 551 gtk_box_pack_start(GTK_BOX(parent), vbox, FALSE, FALSE, 0);
548 gtk_widget_show(vbox); 552 gtk_widget_show(vbox);
549 553
550 label = gtk_label_new(NULL); 554 label = GTK_LABEL(gtk_label_new(NULL));
551 555
552 labeltitle = g_strdup_printf("<span weight=\"bold\">%s</span>", title); 556 labeltitle = g_strdup_printf("<span weight=\"bold\">%s</span>", title);
553 gtk_label_set_markup(GTK_LABEL(label), labeltitle); 557 gtk_label_set_markup(label, labeltitle);
554 g_free(labeltitle); 558 g_free(labeltitle);
555 559
556 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 560 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
557 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); 561 gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(label), FALSE, FALSE, 0);
558 gtk_widget_show(label); 562 gtk_widget_show(GTK_WIDGET(label));
559 pidgin_set_accessible_label (vbox, label); 563 pidgin_set_accessible_label(vbox, label);
560 564
561 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE); 565 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
562 gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); 566 gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
563 gtk_widget_show(hbox); 567 gtk_widget_show(hbox);
564 568
565 label = gtk_label_new(" "); 569 label = GTK_LABEL(gtk_label_new(" "));
566 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 570 gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(label), FALSE, FALSE, 0);
567 gtk_widget_show(label); 571 gtk_widget_show(GTK_WIDGET(label));
568 572
569 vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE); 573 vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE);
570 gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0); 574 gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0);
571 gtk_widget_show(vbox2); 575 gtk_widget_show(vbox2);
572 576
1194 1198
1195 pidgin_set_accessible_relations(w, l); 1199 pidgin_set_accessible_relations(w, l);
1196 } 1200 }
1197 1201
1198 void 1202 void
1199 pidgin_set_accessible_relations (GtkWidget *w, GtkWidget *l) 1203 pidgin_set_accessible_relations (GtkWidget *w, GtkLabel *l)
1200 { 1204 {
1201 AtkObject *acc, *label; 1205 AtkObject *acc, *label;
1202 AtkObject *rel_obj[1]; 1206 AtkObject *rel_obj[1];
1203 AtkRelationSet *set; 1207 AtkRelationSet *set;
1204 AtkRelation *relation; 1208 AtkRelation *relation;
1205 1209
1206 acc = gtk_widget_get_accessible (w); 1210 acc = gtk_widget_get_accessible (w);
1207 label = gtk_widget_get_accessible (l); 1211 label = gtk_widget_get_accessible(GTK_WIDGET(l));
1208 1212
1209 /* Make sure mnemonics work */ 1213 /* Make sure mnemonics work */
1210 gtk_label_set_mnemonic_widget(GTK_LABEL(l), w); 1214 gtk_label_set_mnemonic_widget(l, w);
1211 1215
1212 /* Create the labeled-by relation */ 1216 /* Create the labeled-by relation */
1213 set = atk_object_ref_relation_set (acc); 1217 set = atk_object_ref_relation_set (acc);
1214 rel_obj[0] = label; 1218 rel_obj[0] = label;
1215 relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABELLED_BY); 1219 relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABELLED_BY);
2899 2903
2900 gtk_widget_show(widget); 2904 gtk_widget_show(widget);
2901 gtk_box_pack_start(GTK_BOX(hbox), widget, expand, TRUE, 0); 2905 gtk_box_pack_start(GTK_BOX(hbox), widget, expand, TRUE, 0);
2902 if (label) { 2906 if (label) {
2903 gtk_label_set_mnemonic_widget(GTK_LABEL(label), widget); 2907 gtk_label_set_mnemonic_widget(GTK_LABEL(label), widget);
2904 pidgin_set_accessible_label (widget, label); 2908 pidgin_set_accessible_label(widget, GTK_LABEL(label));
2905 } 2909 }
2906 2910
2907 if (p_label) 2911 if (p_label)
2908 (*p_label) = label; 2912 (*p_label) = label;
2909 return hbox; 2913 return hbox;

mercurial