Mercurial > pidgin.yaz
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; |