diff src/dialogs.c @ 5237:757d680f923d

[gaim-migrate @ 5607] I guess I shouldn't force the aliases on everyone...now they're optional. committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Sat, 26 Apr 2003 21:44:00 +0000
parents 0d4b8ca97c17
children a3bb756635be
line wrap: on
line diff
--- a/src/dialogs.c	Sat Apr 26 20:42:30 2003 +0000
+++ b/src/dialogs.c	Sat Apr 26 21:44:00 2003 +0000
@@ -1229,8 +1229,10 @@
 		gaim_blist_add_group(group, NULL);
 	}
 
-	gaim_blist_add_chat(chat, group, NULL);
-	gaim_blist_save();
+	if(chat) {
+		gaim_blist_add_chat(chat, group, NULL);
+		gaim_blist_save();
+	}
 
 	gtk_widget_destroy(ac->window);
 	g_list_free(ac->entries);
@@ -1252,6 +1254,7 @@
 static void rebuild_addchat_entries(struct addchat *ac) {
 	GList *list, *tmp;
 	struct proto_chat_entry *pce;
+	gboolean focus = TRUE;
 
 	while(GTK_BOX(ac->entries_box)->children)
 		gtk_container_remove(GTK_CONTAINER(ac->entries_box),
@@ -1296,6 +1299,11 @@
 			if(pce->def)
 				gtk_entry_set_text(GTK_ENTRY(entry), pce->def);
 
+			if(focus) {
+				gtk_widget_grab_focus(entry);
+				focus = FALSE;
+			}
+
 			gtk_box_pack_end(GTK_BOX(rowbox), entry, TRUE, TRUE, 0);
 
 			g_signal_connect(G_OBJECT(entry), "activate",
@@ -1420,6 +1428,12 @@
 
 	create_online_account_menu_for_add_chat(ac);
 
+	ac->entries_box = gtk_vbox_new(FALSE, 5);
+    gtk_container_set_border_width(GTK_CONTAINER(ac->entries_box), 0);
+	gtk_box_pack_start(GTK_BOX(vbox), ac->entries_box, TRUE, TRUE, 0);
+
+	rebuild_addchat_entries(ac);
+
 	rowbox = gtk_hbox_new(FALSE, 5);
 	gtk_box_pack_start(GTK_BOX(vbox), rowbox, FALSE, FALSE, 0);
 
@@ -1431,12 +1445,6 @@
 	ac->alias_entry = gtk_entry_new();
 	gtk_box_pack_end(GTK_BOX(rowbox), ac->alias_entry, TRUE, TRUE, 0);
 
-	ac->entries_box = gtk_vbox_new(FALSE, 5);
-    gtk_container_set_border_width(GTK_CONTAINER(ac->entries_box), 0);
-	gtk_box_pack_start(GTK_BOX(vbox), ac->entries_box, TRUE, TRUE, 0);
-
-	rebuild_addchat_entries(ac);
-
 	rowbox = gtk_hbox_new(FALSE, 5);
 	gtk_box_pack_start(GTK_BOX(vbox), rowbox, FALSE, FALSE, 0);
 
@@ -1454,8 +1462,6 @@
 
 	g_signal_connect(G_OBJECT(ac->window), "response", G_CALLBACK(do_add_chat_resp), ac);
 
-	gtk_widget_grab_focus(ac->alias_entry);
-
 	gtk_widget_show_all(ac->window);
 }
 
@@ -3569,10 +3575,8 @@
 	if(resp == GTK_RESPONSE_OK) {
 		GtkWidget *entry = g_object_get_data(G_OBJECT(w), "alias_entry");
 		const char *text = gtk_entry_get_text(GTK_ENTRY(entry));
-		if(text && strlen(text)) {
-			gaim_blist_alias_chat(chat, text);
-			gaim_blist_save();
-		}
+		gaim_blist_alias_chat(chat, text);
+		gaim_blist_save();
 	}
 	gtk_widget_destroy(w);
 }