diff src/dialogs.c @ 9640:bc2079a32fd9

[gaim-migrate @ 10488] I warmenhoved patch 996233 from Jon Oberheide. Thanks Jon! From his description: The main purpose of this patch is to set the focus of a conversation when it is created. Currently, the focus is set when the conversation is created from: - double-clicking a buddy on the buddy list - right-clicking a buddy and clicking "IM" This patch sets the focus additionally for the following circumstances: - clicking "Buddies -> New Instant Message" - clicking "IM" buddy list button committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 02 Aug 2004 03:21:32 +0000
parents 15d09e546cee
children d49a19e8320c
line wrap: on
line diff
--- a/src/dialogs.c	Mon Aug 02 02:16:47 2004 +0000
+++ b/src/dialogs.c	Mon Aug 02 03:21:32 2004 +0000
@@ -411,22 +411,33 @@
 	return TRUE;
 }
 
-static void
-new_im_cb(gpointer data, GaimRequestFields *fields)
+void
+gaim_gtkdialogs_new_im(GaimAccount *account, const char *username)
 {
-	const char *username;
-	GaimAccount *account;
 	GaimConversation *conv;
-
-	username = gaim_request_fields_get_string(fields,  "screenname");
-	account  = gaim_request_fields_get_account(fields, "account");
+	GaimConvWindow *win;
 
 	conv = gaim_find_conversation_with_account(username, account);
 
 	if (conv == NULL)
 		conv = gaim_conversation_new(GAIM_CONV_IM, account, username);
-	else
-		gaim_conv_window_raise(gaim_conversation_get_window(conv));
+
+	win = gaim_conversation_get_window(conv);
+
+	gaim_conv_window_raise(win);
+	gaim_conv_window_switch_conversation(win, gaim_conversation_get_index(conv));
+}
+
+static void
+new_im_cb(gpointer data, GaimRequestFields *fields)
+{
+	GaimAccount *account;
+	const char *username;
+
+	account  = gaim_request_fields_get_account(fields, "account");
+	username = gaim_request_fields_get_string(fields,  "screenname");
+
+	gaim_gtkdialogs_new_im(account, username);
 }
 
 void