diff src/conversation.c @ 9251:45d2ad4ac1c1

[gaim-migrate @ 10050] Stu Tomlinson has provided a nice patch to move the separation of IM and Chat windows back into the core from the extplacement plugin. It's awesome to have crazy patch writers, and even better to have crazy patch writers who write what I want to write before I do it, thus saving me the effort. committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Wed, 09 Jun 2004 20:47:07 +0000
parents 1e51236d825e
children 947876140943
line wrap: on
line diff
--- a/src/conversation.c	Wed Jun 09 18:58:26 2004 +0000
+++ b/src/conversation.c	Wed Jun 09 20:47:07 2004 +0000
@@ -2230,14 +2230,25 @@
 {
 	GaimConvWindow *win;
 
-#if 0 /* Last-minute prefslash */
-	if (gaim_prefs_get_bool("/core/conversations/combine_chat_im"))
-		win = g_list_last(gaim_get_windows())->data;
+	win = g_list_last(gaim_get_windows())->data;
+
+	if (win == NULL) {
+		win = gaim_conv_window_new();
+
+		gaim_conv_window_add_conversation(win, conv);
+		gaim_conv_window_show(win);
+	}
 	else
-		win = gaim_get_last_window_with_type(gaim_conversation_get_type(conv));
-#else
-	win = g_list_last(gaim_get_windows())->data;
-#endif
+		gaim_conv_window_add_conversation(win, conv);
+}
+
+/* This one places conversations in the last made window of the same type. */
+static void
+conv_placement_last_created_win_type(GaimConversation *conv)
+{
+	GaimConvWindow *win;
+
+	win = gaim_get_last_window_with_type(gaim_conversation_get_type(conv));
 
 	if (win == NULL) {
 		win = gaim_conv_window_new();
@@ -2375,51 +2386,6 @@
 	conv_placement_new_window(conv);
 }
 
-#if 0 /* PREFSLASH04 */
-
-static void
-conv_placement_by_number(GaimConversation *conv)
-{
-	GaimConvWindow *win = NULL;
-
-	if (gaim_prefs_get_bool("/core/conversations/combine_chat_im"))
-		win = g_list_last(gaim_get_windows())->data;
-	else
-		win = gaim_get_last_window_with_type(gaim_conversation_get_type(conv));
-
-	if (win == NULL) {
-		win = gaim_conv_window_new();
-
-		gaim_conv_window_add_conversation(win, conv);
-		gaim_conv_window_show(win);
-	} else {
-		int max_count = gaim_prefs_get_int("/gaim/gtk/conversations/placement_number");
-		int count = gaim_conv_window_get_conversation_count(win);
-
-		if (count < max_count)
-			gaim_conv_window_add_conversation(win, conv);
-		else {
-			GList *l = NULL;
-
-			for (l = gaim_get_windows(); l != NULL; l = l->next) {
-				win = (GaimConvWindow *)l->data;
-
-				count = gaim_conv_window_get_conversation_count(win);
-				if (count < max_count) {
-					gaim_conv_window_add_conversation(win, conv);
-					return;
-				}
-			}
-			win = gaim_conv_window_new();
-
-			gaim_conv_window_add_conversation(win, conv);
-			gaim_conv_window_show(win);
-		}
-	}
-}
-
-#endif
-
 static ConvPlacementData *
 get_conv_placement_data(const char *id)
 {
@@ -2457,6 +2423,8 @@
 	{
 		add_conv_placement_fnc("last", _("Last created window"),
 							   conv_placement_last_created_win);
+		add_conv_placement_fnc("im_chat", _("Separate IM and Chat windows"),
+							   conv_placement_last_created_win_type);
 		add_conv_placement_fnc("new", _("New window"),
 							   conv_placement_new_window);
 		add_conv_placement_fnc("group", _("By group"),
@@ -2603,7 +2571,6 @@
 	/* Conversations */
 	gaim_prefs_add_none("/core/conversations");
 	gaim_prefs_add_bool("/core/conversations/use_alias_for_title", TRUE);
-	gaim_prefs_add_bool("/core/conversations/combine_chat_im", FALSE);
 
 	/* Conversations -> Chat */
 	gaim_prefs_add_none("/core/conversations/chat");