comparison src/gtkconv.c @ 10431:843ed1f2bf3f

[gaim-migrate @ 11683] Feature request #1022776, from Kristof Vansant: Clicking on IM in a chat channel, new tab should get focus And of course some minor code cleanup and reuse :-D committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 27 Dec 2004 07:21:45 +0000
parents de59c0e7f87e
children b6ca0e1b19d0
comparison
equal deleted inserted replaced
10430:f5508fbf6764 10431:843ed1f2bf3f
1237 } 1237 }
1238 1238
1239 static void 1239 static void
1240 chat_do_im(GaimConversation *conv, const char *who) 1240 chat_do_im(GaimConversation *conv, const char *who)
1241 { 1241 {
1242 GaimAccount *account;
1243 GaimConnection *gc;
1242 GaimPluginProtocolInfo *prpl_info = NULL; 1244 GaimPluginProtocolInfo *prpl_info = NULL;
1243 char *real_who; 1245 char *real_who;
1244 GaimConversation *conv2;
1245 GaimAccount *account;
1246 1246
1247 account = gaim_conversation_get_account(conv); 1247 account = gaim_conversation_get_account(conv);
1248 1248 g_return_if_fail(account != NULL);
1249 if(account && account->gc) 1249
1250 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); 1250 gc = gaim_account_get_connection(account);
1251 1251 g_return_if_fail(gc != NULL);
1252 if(prpl_info && prpl_info->get_cb_real_name) 1252
1253 real_who = prpl_info->get_cb_real_name(account->gc, 1253 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl);
1254
1255 if (prpl_info && prpl_info->get_cb_real_name)
1256 real_who = prpl_info->get_cb_real_name(gc,
1254 gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), who); 1257 gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), who);
1255 else 1258 else
1256 real_who = g_strdup(who); 1259 real_who = g_strdup(who);
1257 1260
1258 if(!real_who) 1261 if(!real_who)
1259 return; 1262 return;
1260 1263
1261 conv2 = gaim_find_conversation_with_account(GAIM_CONV_IM, real_who, account); 1264 gaim_gtkdialogs_im_with_user(account, real_who);
1262
1263 if (conv2 != NULL)
1264 gaim_conv_window_show(gaim_conversation_get_window(conv2));
1265 else
1266 conv2 = gaim_conversation_new(GAIM_CONV_IM, account, real_who);
1267 1265
1268 g_free(real_who); 1266 g_free(real_who);
1269 } 1267 }
1270
1271 1268
1272 static void 1269 static void
1273 chat_im_button_cb(GtkWidget *widget, GaimConversation *conv) 1270 chat_im_button_cb(GtkWidget *widget, GaimConversation *conv)
1274 { 1271 {
1275 GaimGtkConversation *gtkconv; 1272 GaimGtkConversation *gtkconv;