comparison src/dialogs.c @ 6465:fb64cc87bc96

[gaim-migrate @ 6974] open_url() is gone forever! WOOHOO! Now we have gaim_notify_uri(). Oh, and whitespace changes in some files, because they just really bugged me. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Thu, 14 Aug 2003 03:55:13 +0000
parents a10a256b6784
children 156e6643f9db
comparison
equal deleted inserted replaced
6464:059649ed25ed 6465:fb64cc87bc96
1 /* 1 /*
2 * gaim 2 * gaim
3 * 3 *
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> 4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or 8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version. 9 * (at your option) any later version.
10 * 10 *
110 110
111 struct getuserinfo { 111 struct getuserinfo {
112 GtkWidget *window; 112 GtkWidget *window;
113 GtkWidget *entry; 113 GtkWidget *entry;
114 GtkWidget *account; 114 GtkWidget *account;
115 GaimConnection *gc; 115 GaimConnection *gc;
116 }; 116 };
117 117
118 typedef struct 118 typedef struct
119 { 119 {
120 char *username; 120 char *username;
347 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6); 347 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6);
348 348
349 hbox = gtk_hbox_new(FALSE, 12); 349 hbox = gtk_hbox_new(FALSE, 12);
350 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox); 350 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox);
351 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 351 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
352 352
353 vbox = gtk_vbox_new(FALSE, 0); 353 vbox = gtk_vbox_new(FALSE, 0);
354 gtk_container_add(GTK_CONTAINER(hbox), vbox); 354 gtk_container_add(GTK_CONTAINER(hbox), vbox);
355 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n" 355 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n"
356 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who); 356 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who);
357 label = gtk_label_new(NULL); 357 label = gtk_label_new(NULL);
361 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); 361 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
362 g_free(labeltext); 362 g_free(labeltext);
363 363
364 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?")); 364 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?"));
365 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0); 365 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0);
366 366
367 hbox = gtk_hbox_new(FALSE, 6); 367 hbox = gtk_hbox_new(FALSE, 6);
368 gtk_container_add(GTK_CONTAINER(vbox), hbox); 368 gtk_container_add(GTK_CONTAINER(vbox), hbox);
369 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU); 369 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU);
370 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 370 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
371 labeltext = _("<b>Anonymous warnings are less severe.</b>"); 371 labeltext = _("<b>Anonymous warnings are less severe.</b>");
467 g_free(text); 467 g_free(text);
468 } 468 }
469 469
470 void show_confirm_del_group(struct group *g) 470 void show_confirm_del_group(struct group *g)
471 { 471 {
472 char *text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"), 472 char *text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"),
473 g->name); 473 g->name);
474 474
475 gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2, 475 gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2,
476 _("Remove Group"), G_CALLBACK(do_remove_group), 476 _("Remove Group"), G_CALLBACK(do_remove_group),
477 _("Cancel"), NULL); 477 _("Cancel"), NULL);
524 524
525 if (!g_ascii_strcasecmp(who, "")) { 525 if (!g_ascii_strcasecmp(who, "")) {
526 g_free(who); 526 g_free(who);
527 return; 527 return;
528 } 528 }
529 529
530 /* what do we want to do about this case? */ 530 /* what do we want to do about this case? */
531 if (info->gc) 531 if (info->gc)
532 serv_get_info(info->gc, who); 532 serv_get_info(info->gc, who);
533 g_free(who); 533 g_free(who);
534 } 534 }
546 546
547 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); 547 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
548 548
549 label = gtk_label_new(NULL); 549 label = gtk_label_new(NULL);
550 if (ee == 0) 550 if (ee == 0)
551 gtk_label_set_markup(GTK_LABEL(label), 551 gtk_label_set_markup(GTK_LABEL(label),
552 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>"); 552 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>");
553 else if (ee == 1) 553 else if (ee == 1)
554 gtk_label_set_markup(GTK_LABEL(label), 554 gtk_label_set_markup(GTK_LABEL(label),
555 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>"); 555 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>");
556 else if (ee == 2) 556 else if (ee == 2)
557 gtk_label_set_markup(GTK_LABEL(label), 557 gtk_label_set_markup(GTK_LABEL(label),
558 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>"); 558 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>");
559 else if (ee == 3) 559 else if (ee == 3)
560 gtk_label_set_markup(GTK_LABEL(label), 560 gtk_label_set_markup(GTK_LABEL(label),
561 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>"); 561 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>");
562 else if (ee == 4) 562 else if (ee == 4)
563 gtk_label_set_markup(GTK_LABEL(label), 563 gtk_label_set_markup(GTK_LABEL(label),
564 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>"); 564 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>");
565 else if (ee == 5) 565 else if (ee == 5)
566 gtk_label_set_markup(GTK_LABEL(label), 566 gtk_label_set_markup(GTK_LABEL(label),
567 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>"); 567 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>");
568 else if (ee == 6) 568 else if (ee == 6)
569 gtk_label_set_markup(GTK_LABEL(label), 569 gtk_label_set_markup(GTK_LABEL(label),
570 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>"); 570 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>");
571 else if (ee == 7) 571 else if (ee == 7)
572 gtk_label_set_markup(GTK_LABEL(label), 572 gtk_label_set_markup(GTK_LABEL(label),
573 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>"); 573 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>");
574 else 574 else
575 gtk_label_set_markup(GTK_LABEL(label), 575 gtk_label_set_markup(GTK_LABEL(label),
576 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>"); 576 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>");
577 577
578 window = gtk_dialog_new_with_buttons("", GTK_WINDOW(gtkblist->window), 0, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); 578 window = gtk_dialog_new_with_buttons("", GTK_WINDOW(gtkblist->window), 0, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
579 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); 579 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
580 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL); 580 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL);
581 581
582 gtk_container_set_border_width (GTK_CONTAINER(window), 6); 582 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
583 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); 583 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
584 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); 584 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
585 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); 585 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
586 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); 586 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
587 587
588 hbox = gtk_hbox_new(FALSE, 12); 588 hbox = gtk_hbox_new(FALSE, 12);
589 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); 589 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
590 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 590 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
591 591
592 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 592 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
593 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 593 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
594 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 594 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
595 595
596 gtk_widget_show_all(window); 596 gtk_widget_show_all(window);
701 701
702 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); 702 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
703 703
704 info->gc = gaim_connections_get_all()->data; 704 info->gc = gaim_connections_get_all()->data;
705 705
706 window = gtk_dialog_new_with_buttons(_("Get User Info"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0, 706 window = gtk_dialog_new_with_buttons(_("Get User Info"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0,
707 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); 707 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
708 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); 708 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
709 gtk_container_set_border_width (GTK_CONTAINER(window), 6); 709 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
710 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); 710 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
711 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); 711 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
719 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, 719 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK,
720 FALSE); 720 FALSE);
721 721
722 vbox = gtk_vbox_new(FALSE, 0); 722 vbox = gtk_vbox_new(FALSE, 0);
723 gtk_container_add(GTK_CONTAINER(hbox), vbox); 723 gtk_container_add(GTK_CONTAINER(hbox), vbox);
724 724
725 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n")); 725 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n"));
726 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 726 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
727 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 727 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
728 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); 728 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
729 729
730 table = gtk_table_new(2, 2, FALSE); 730 table = gtk_table_new(2, 2, FALSE);
731 gtk_table_set_row_spacings(GTK_TABLE(table), 6); 731 gtk_table_set_row_spacings(GTK_TABLE(table), 6);
732 gtk_table_set_col_spacings(GTK_TABLE(table), 6); 732 gtk_table_set_col_spacings(GTK_TABLE(table), 6);
733 gtk_container_set_border_width(GTK_CONTAINER(table), 12); 733 gtk_container_set_border_width(GTK_CONTAINER(table), 12);
734 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); 734 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
735 735
736 label = gtk_label_new(NULL); 736 label = gtk_label_new(NULL);
737 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); 737 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:"));
738 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 738 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
739 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); 739 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
740 740
743 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); 743 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE);
744 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); 744 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry));
745 745
746 g_signal_connect(G_OBJECT(info->entry), "changed", 746 g_signal_connect(G_OBJECT(info->entry), "changed",
747 G_CALLBACK(dialog_set_ok_sensitive), window); 747 G_CALLBACK(dialog_set_ok_sensitive), window);
748 748
749 if (gaim_connections_get_all()->next) { 749 if (gaim_connections_get_all()->next) {
750 750
751 label = gtk_label_new(NULL); 751 label = gtk_label_new(NULL);
752 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); 752 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
753 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); 753 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:"));
759 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); 759 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2);
760 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); 760 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account));
761 } 761 }
762 762
763 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info); 763 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info);
764 764
765 765
766 gtk_widget_show_all(window); 766 gtk_widget_show_all(window);
767 if (info->entry) 767 if (info->entry)
768 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); 768 gtk_widget_grab_focus(GTK_WIDGET(info->entry));
769 } 769 }
770 770
932 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); 932 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
933 933
934 a->entry = gtk_entry_new(); 934 a->entry = gtk_entry_new();
935 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); 935 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1);
936 gtk_widget_grab_focus(a->entry); 936 gtk_widget_grab_focus(a->entry);
937 937
938 if (buddy != NULL) 938 if (buddy != NULL)
939 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); 939 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy);
940 940
941 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE); 941 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE);
942 942
974 g_signal_connect(G_OBJECT(a->window), "response", 974 g_signal_connect(G_OBJECT(a->window), "response",
975 G_CALLBACK(do_add_buddy), a); 975 G_CALLBACK(do_add_buddy), a);
976 976
977 gtk_widget_show_all(a->window); 977 gtk_widget_show_all(a->window);
978 978
979 if (group != NULL) 979 if (group != NULL)
980 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); 980 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group);
981 } 981 }
982 982
983 struct addchat { 983 struct addchat {
984 GaimAccount *account; 984 GaimAccount *account;
1908 gtk_file_selection_hide_fileop_buttons( 1908 gtk_file_selection_hide_fileop_buttons(
1909 GTK_FILE_SELECTION(gtkconv->dialogs.log)); 1909 GTK_FILE_SELECTION(gtkconv->dialogs.log));
1910 1910
1911 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", 1911 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log",
1912 gaim_home_dir(), normalize(c->name)); 1912 gaim_home_dir(), normalize(c->name));
1913 g_object_set_data(G_OBJECT(gtkconv->dialogs.log), "dialog_type", 1913 g_object_set_data(G_OBJECT(gtkconv->dialogs.log), "dialog_type",
1914 "log dialog"); 1914 "log dialog");
1915 gtk_file_selection_set_filename(GTK_FILE_SELECTION(gtkconv->dialogs.log), 1915 gtk_file_selection_set_filename(GTK_FILE_SELECTION(gtkconv->dialogs.log),
1916 buf); 1916 buf);
1917 g_signal_connect(G_OBJECT(gtkconv->dialogs.log), "delete_event", 1917 g_signal_connect(G_OBJECT(gtkconv->dialogs.log), "delete_event",
1918 G_CALLBACK(delete_event_dialog), c); 1918 G_CALLBACK(delete_event_dialog), c);
2174 gtkconv = GAIM_GTK_CONVERSATION(b->c); 2174 gtkconv = GAIM_GTK_CONVERSATION(b->c);
2175 2175
2176 if (resp == GTK_RESPONSE_OK) { 2176 if (resp == GTK_RESPONSE_OK) {
2177 2177
2178 open_tag = g_malloc(2048); 2178 open_tag = g_malloc(2048);
2179 2179
2180 urltext = gtk_entry_get_text(GTK_ENTRY(b->url)); 2180 urltext = gtk_entry_get_text(GTK_ENTRY(b->url));
2181 showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); 2181 showtext = gtk_entry_get_text(GTK_ENTRY(b->text));
2182 2182
2183 if (!strlen(showtext)) 2183 if (!strlen(showtext))
2184 showtext = urltext; 2184 showtext = urltext;
2185 2185
2186 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); 2186 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext);
2187 gaim_gtk_surround(gtkconv, open_tag, "</A>"); 2187 gaim_gtk_surround(gtkconv, open_tag, "</A>");
2188 2188
2225 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); 2225 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE);
2226 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); 2226 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12);
2227 gtk_container_set_border_width( 2227 gtk_container_set_border_width(
2228 GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); 2228 GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6);
2229 gtk_window_set_role(GTK_WINDOW(a->window), "insert_link"); 2229 gtk_window_set_role(GTK_WINDOW(a->window), "insert_link");
2230 2230
2231 hbox = gtk_hbox_new(FALSE, 12); 2231 hbox = gtk_hbox_new(FALSE, 12);
2232 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); 2232 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox);
2233 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 2233 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
2234 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 2234 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
2235 2235
2236 vbox = gtk_vbox_new(FALSE, 0); 2236 vbox = gtk_vbox_new(FALSE, 0);
2237 gtk_container_add(GTK_CONTAINER(hbox), vbox); 2237 gtk_container_add(GTK_CONTAINER(hbox), vbox);
2238 2238
2239 label = gtk_label_new(_("Please enter the URL and description of " 2239 label = gtk_label_new(_("Please enter the URL and description of "
2240 "the link that you want to insert. The " 2240 "the link that you want to insert. The "
2241 "description is optional.\n")); 2241 "description is optional.\n"));
2242 2242
2243 gtk_widget_set_size_request(GTK_WIDGET(label), 335, -1); 2243 gtk_widget_set_size_request(GTK_WIDGET(label), 335, -1);
2244 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 2244 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
2245 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 2245 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
2246 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); 2246 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
2247 2247
2248 hbox = gtk_hbox_new(FALSE, 6); 2248 hbox = gtk_hbox_new(FALSE, 6);
2249 gtk_container_add(GTK_CONTAINER(vbox), hbox); 2249 gtk_container_add(GTK_CONTAINER(vbox), hbox);
2250 2250
2251 g_signal_connect(G_OBJECT(a->window), "destroy", 2251 g_signal_connect(G_OBJECT(a->window), "destroy",
2252 G_CALLBACK(destroy_dialog), a->window); 2252 G_CALLBACK(destroy_dialog), a->window);
2253 g_signal_connect(G_OBJECT(a->window), "destroy", 2253 g_signal_connect(G_OBJECT(a->window), "destroy",
2254 G_CALLBACK(free_dialog), a); 2254 G_CALLBACK(free_dialog), a);
2255 dialogwindows = g_list_prepend(dialogwindows, a->window); 2255 dialogwindows = g_list_prepend(dialogwindows, a->window);
2256 2256
2257 table = gtk_table_new(4, 2, FALSE); 2257 table = gtk_table_new(4, 2, FALSE);
2258 gtk_table_set_row_spacings(GTK_TABLE(table), 5); 2258 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
2259 gtk_table_set_col_spacings(GTK_TABLE(table), 5); 2259 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
2260 gtk_container_set_border_width(GTK_CONTAINER(table), 0); 2260 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
2261 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); 2261 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
2262 2262
2263 label = gtk_label_new(_("URL")); 2263 label = gtk_label_new(_("URL"));
2264 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 2264 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2265 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); 2265 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
2266 2266
2267 a->url = gtk_entry_new(); 2267 a->url = gtk_entry_new();
2268 gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1); 2268 gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1);
2269 gtk_widget_grab_focus(a->url); 2269 gtk_widget_grab_focus(a->url);
2270 2270
2271 gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE); 2271 gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE);
2272 2272
2273 label = gtk_label_new(_("Description")); 2273 label = gtk_label_new(_("Description"));
2274 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 2274 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2275 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); 2275 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
2276 2276
2277 a->text = gtk_entry_new(); 2277 a->text = gtk_entry_new();
2278 gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2); 2278 gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2);
2279 gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE); 2279 gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE);
2280 2280
2281 g_signal_connect(G_OBJECT(a->window), "response", 2281 g_signal_connect(G_OBJECT(a->window), "response",
2638 am = g_new0(struct away_message, 1); 2638 am = g_new0(struct away_message, 1);
2639 else { 2639 else {
2640 am = ca->mess; 2640 am = ca->mess;
2641 } 2641 }
2642 2642
2643 2643
2644 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); 2644 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
2645 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); 2645 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
2646 2646
2647 g_snprintf(am->message, sizeof(am->message), "%s", away_message); 2647 g_snprintf(am->message, sizeof(am->message), "%s", away_message);
2648 g_free(away_message); 2648 g_free(away_message);
3279 void chat_show_log(GtkWidget *w, gpointer data) 3279 void chat_show_log(GtkWidget *w, gpointer data)
3280 { 3280 {
3281 char *name = g_strdup_printf("%s.chat", (char*)data); 3281 char *name = g_strdup_printf("%s.chat", (char*)data);
3282 show_log(name); 3282 show_log(name);
3283 g_free(name); 3283 g_free(name);
3284 }
3285
3286 static void
3287 url_clicked_cb(GtkWidget *widget, const char *uri)
3288 {
3289 gaim_notify_uri(NULL, uri);
3284 } 3290 }
3285 3291
3286 void show_log(char *nm) 3292 void show_log(char *nm)
3287 { 3293 {
3288 gchar filename[256]; 3294 gchar filename[256];
3394 continue; 3400 continue;
3395 3401
3396 temp++; 3402 temp++;
3397 length = strcspn(temp, "-"); 3403 length = strcspn(temp, "-");
3398 if (length > 31) length = 31; 3404 if (length > 31) length = 31;
3399 3405
3400 offset = ftell(fp); 3406 offset = ftell(fp);
3401 g_snprintf(convo_start, length, "%s", temp); 3407 g_snprintf(convo_start, length, "%s", temp);
3402 gtk_list_store_append(list_store, &iter); 3408 gtk_list_store_append(list_store, &iter);
3403 view = g_new0(struct view_log, 1); 3409 view = g_new0(struct view_log, 1);
3404 view->options = options; 3410 view->options = options;
3438 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); 3444 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
3439 gtk_widget_set_size_request(sw, 390, 220); 3445 gtk_widget_set_size_request(sw, 390, 220);
3440 gtk_container_add(GTK_CONTAINER(frame), sw); 3446 gtk_container_add(GTK_CONTAINER(frame), sw);
3441 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); 3447 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
3442 3448
3443 g_signal_connect(G_OBJECT(layout), "url_clicked", G_CALLBACK(open_url), NULL); 3449 g_signal_connect(G_OBJECT(layout), "url_clicked",
3450 G_CALLBACK(url_clicked_cb), NULL);
3444 gtk_container_add(GTK_CONTAINER(sw), layout); 3451 gtk_container_add(GTK_CONTAINER(sw), layout);
3445 gaim_setup_imhtml(layout); 3452 gaim_setup_imhtml(layout);
3446 3453
3447 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0); 3454 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0);
3448 gtk_widget_set_sensitive(bbox, FALSE); 3455 gtk_widget_set_sensitive(bbox, FALSE);