comparison src/dialogs.c @ 1292:cb84b5c6d9ab

[gaim-migrate @ 1302] Patches from Decklin and "Falling Thanks guys :) committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Mon, 18 Dec 2000 05:17:58 +0000
parents d8eaf65ca9c3
children 8b5ed2f0496c
comparison
equal deleted inserted replaced
1291:ddfb2f68c590 1292:cb84b5c6d9ab
993 993
994 994
995 void do_new_bp(GtkWidget *w, struct addbp *b) 995 void do_new_bp(GtkWidget *w, struct addbp *b)
996 { 996 {
997 struct buddy_pounce *bp = g_new0(struct buddy_pounce, 1); 997 struct buddy_pounce *bp = g_new0(struct buddy_pounce, 1);
998 998
999 if(strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) {
1000 do_error_dialog(_("Please enter a buddy to pounce."), _("Buddy Pounce Error"));
1001 g_free(bp);
1002 return;
1003 }
1004
999 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry))); 1005 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry)));
1000 g_snprintf(bp->message, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->messentry))); 1006 g_snprintf(bp->message, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->messentry)));
1001 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry))); 1007 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry)));
1002 g_snprintf(bp->pouncer, 80, "%s", b->user->username); 1008 g_snprintf(bp->pouncer, 80, "%s", b->user->username);
1003 1009
1241 struct gaim_connection *gc; 1247 struct gaim_connection *gc;
1242 1248
1243 junk = gtk_editable_get_chars(GTK_EDITABLE(b->text), 0, -1); 1249 junk = gtk_editable_get_chars(GTK_EDITABLE(b->text), 0, -1);
1244 1250
1245 if (b->user) { 1251 if (b->user) {
1246 g_snprintf(b->user->user_info, sizeof(b->user->user_info), "%s", junk); 1252 strncpy_withhtml(b->user->user_info, junk, sizeof b->user->user_info);
1247 gc = b->user->gc; 1253 gc = b->user->gc;
1248 1254
1249 save_prefs(); 1255 save_prefs();
1250 1256
1251 if (gc) { 1257 if (gc)
1252 buf = g_malloc(strlen(junk) * 4); 1258 serv_set_info(gc, b->user->user_info);
1253 if (!buf) {
1254 buf = g_malloc(1);
1255 buf[0] = 0;
1256 }
1257 //g_snprintf(buf, MIN(strlen(junk) * 2, 4096), "%s", junk);
1258 strncpy_withhtml(buf, junk, MIN(strlen(junk) * 2, 4096));
1259 serv_set_info(gc, buf);
1260 g_free(buf);
1261 }
1262 } 1259 }
1263 g_free(junk); 1260 g_free(junk);
1264 destroy_dialog(NULL, b->window); 1261 destroy_dialog(NULL, b->window);
1265 g_free(b); 1262 g_free(b);
1266 } 1263 }
1622 gtk_widget_show(b->window); 1619 gtk_widget_show(b->window);
1623 } 1620 }
1624 1621
1625 static void info_choose(GtkWidget *opt, struct set_info_dlg *b) 1622 static void info_choose(GtkWidget *opt, struct set_info_dlg *b)
1626 { 1623 {
1627 int text_len; 1624 int text_len = gtk_text_get_length(GTK_TEXT(b->text));
1628 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt)); 1625 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt));
1626 gchar *buf = g_malloc(strlen(u->user_info)+1);
1629 b->user = u; 1627 b->user = u;
1630 text_len = gtk_text_get_length(GTK_TEXT(b->text)); 1628
1629 strncpy_nohtml(buf, u->user_info, strlen(u->user_info)+1);
1630
1631 gtk_text_set_point(GTK_TEXT(b->text), 0); 1631 gtk_text_set_point(GTK_TEXT(b->text), 0);
1632 gtk_text_forward_delete(GTK_TEXT(b->text), text_len); 1632 gtk_text_forward_delete(GTK_TEXT(b->text), text_len);
1633 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, u->user_info, -1); 1633 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1);
1634
1635 g_free(buf);
1634 } 1636 }
1635 1637
1636 static void info_user_menu(struct set_info_dlg *b, GtkWidget *box) 1638 static void info_user_menu(struct set_info_dlg *b, GtkWidget *box)
1637 { 1639 {
1638 GtkWidget *hbox; 1640 GtkWidget *hbox;
1676 1678
1677 void show_set_info() 1679 void show_set_info()
1678 { 1680 {
1679 GtkWidget *buttons; 1681 GtkWidget *buttons;
1680 GtkWidget *vbox; 1682 GtkWidget *vbox;
1681 1683 gchar *buf;
1684 struct aim_user *tmp;
1685
1682 struct set_info_dlg *b = g_new0(struct set_info_dlg, 1); 1686 struct set_info_dlg *b = g_new0(struct set_info_dlg, 1);
1683 1687
1684 b->window = gtk_window_new(GTK_WINDOW_DIALOG); 1688 b->window = gtk_window_new(GTK_WINDOW_DIALOG);
1685 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_info", "Gaim"); 1689 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_info", "Gaim");
1686 dialogwindows = g_list_prepend(dialogwindows, b->window); 1690 dialogwindows = g_list_prepend(dialogwindows, b->window);
1712 b->text = gtk_text_new(NULL, NULL); 1716 b->text = gtk_text_new(NULL, NULL);
1713 gtk_text_set_word_wrap(GTK_TEXT(b->text), TRUE); 1717 gtk_text_set_word_wrap(GTK_TEXT(b->text), TRUE);
1714 gtk_text_set_editable(GTK_TEXT(b->text), TRUE); 1718 gtk_text_set_editable(GTK_TEXT(b->text), TRUE);
1715 gtk_widget_set_usize(b->text, 300, 200); 1719 gtk_widget_set_usize(b->text, 300, 200);
1716 if (aim_users) { 1720 if (aim_users) {
1717 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, 1721 tmp = ((struct gaim_connection *)connections->data)->user;
1718 ((struct gaim_connection *)connections->data)->user->user_info, -1); 1722 buf = g_malloc(strlen(tmp->user_info)+1);
1719 b->user = ((struct gaim_connection *)connections->data)->user; 1723 strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info)+1);
1724 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1);
1725 b->user = tmp;
1726 g_free(buf);
1720 } 1727 }
1721 1728
1722 gtk_widget_show(b->text); 1729 gtk_widget_show(b->text);
1723 1730
1724 gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0); 1731 gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0);
1729 gtk_container_add(GTK_CONTAINER(b->window), vbox); 1736 gtk_container_add(GTK_CONTAINER(b->window), vbox);
1730 gtk_widget_realize(b->window); 1737 gtk_widget_realize(b->window);
1731 aol_icon(b->window->window); 1738 aol_icon(b->window->window);
1732 1739
1733 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); 1740 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info"));
1741 gtk_window_set_focus(GTK_WINDOW(b->window), b->text);
1734 gtk_widget_show(b->window); 1742 gtk_widget_show(b->window);
1735 1743
1736 } 1744 }
1737 1745
1738 /*------------------------------------------------------------------------*/ 1746 /*------------------------------------------------------------------------*/