Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 29500:6e9917e067e6
propagate from branch 'im.pidgin.pidgin' (head f881ba77d0fe70224a938185a5a3675b39520873)
to branch 'im.pidgin.pidgin.next.minor' (head 91d04fec37b328ffc2e552ea14a5a520d27161f2)
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Wed, 16 Sep 2009 15:41:33 +0000 |
parents | 48ea900ee72a f15b14df260d |
children | 0aac63e8489f |
comparison
equal
deleted
inserted
replaced
29498:df24cbb0d6e2 | 29500:6e9917e067e6 |
---|---|
325 static PurpleCmdRet | 325 static PurpleCmdRet |
326 debug_command_cb(PurpleConversation *conv, | 326 debug_command_cb(PurpleConversation *conv, |
327 const char *cmd, char **args, char **error, void *data) | 327 const char *cmd, char **args, char **error, void *data) |
328 { | 328 { |
329 char *tmp, *markup; | 329 char *tmp, *markup; |
330 PurpleCmdStatus status; | |
331 | 330 |
332 if (!g_ascii_strcasecmp(args[0], "version")) { | 331 if (!g_ascii_strcasecmp(args[0], "version")) { |
333 tmp = g_strdup_printf("me is using Pidgin v%s with libpurple v%s.", | 332 tmp = g_strdup_printf("Using Pidgin v%s with libpurple v%s.", |
334 DISPLAY_VERSION, purple_core_get_version()); | 333 DISPLAY_VERSION, purple_core_get_version()); |
335 markup = g_markup_escape_text(tmp, -1); | 334 } else if (!g_ascii_strcasecmp(args[0], "plugins")) { |
336 | 335 /* Show all the loaded plugins, including the protocol plugins and plugin loaders. |
337 status = purple_cmd_do_command(conv, tmp, markup, error); | 336 * This is intentional, since third party prpls are often sources of bugs, and some |
338 | 337 * plugin loaders (e.g. mono) can also be buggy. |
339 g_free(tmp); | 338 */ |
340 g_free(markup); | 339 GString *str = g_string_new("Loaded Plugins: "); |
341 return status; | 340 const GList *plugins = purple_plugins_get_loaded(); |
341 if (plugins) { | |
342 for (; plugins; plugins = plugins->next) { | |
343 str = g_string_append(str, purple_plugin_get_name(plugins->data)); | |
344 if (plugins->next) | |
345 str = g_string_append(str, ", "); | |
346 } | |
347 } else { | |
348 str = g_string_append(str, "(none)"); | |
349 } | |
350 | |
351 tmp = g_string_free(str, FALSE); | |
342 } else { | 352 } else { |
343 purple_conversation_write(conv, NULL, _("Supported debug options are: version"), | 353 purple_conversation_write(conv, NULL, _("Supported debug options are: plugins version"), |
344 PURPLE_MESSAGE_NO_LOG|PURPLE_MESSAGE_ERROR, time(NULL)); | 354 PURPLE_MESSAGE_NO_LOG|PURPLE_MESSAGE_ERROR, time(NULL)); |
345 return PURPLE_CMD_STATUS_OK; | 355 return PURPLE_CMD_RET_OK; |
346 } | 356 } |
357 | |
358 markup = g_markup_escape_text(tmp, -1); | |
359 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) | |
360 purple_conv_im_send(PURPLE_CONV_IM(conv), markup); | |
361 else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) | |
362 purple_conv_chat_send(PURPLE_CONV_CHAT(conv), markup); | |
363 | |
364 g_free(tmp); | |
365 g_free(markup); | |
366 return PURPLE_CMD_RET_OK; | |
347 } | 367 } |
348 | 368 |
349 static void clear_conversation_scrollback(PurpleConversation *conv) | 369 static void clear_conversation_scrollback(PurpleConversation *conv) |
350 { | 370 { |
351 PidginConversation *gtkconv = NULL; | 371 PidginConversation *gtkconv = NULL; |
361 static PurpleCmdRet | 381 static PurpleCmdRet |
362 clear_command_cb(PurpleConversation *conv, | 382 clear_command_cb(PurpleConversation *conv, |
363 const char *cmd, char **args, char **error, void *data) | 383 const char *cmd, char **args, char **error, void *data) |
364 { | 384 { |
365 clear_conversation_scrollback(conv); | 385 clear_conversation_scrollback(conv); |
366 return PURPLE_CMD_STATUS_OK; | 386 return PURPLE_CMD_RET_OK; |
367 } | 387 } |
368 | 388 |
369 static PurpleCmdRet | 389 static PurpleCmdRet |
370 clearall_command_cb(PurpleConversation *conv, | 390 clearall_command_cb(PurpleConversation *conv, |
371 const char *cmd, char **args, char **error, void *data) | 391 const char *cmd, char **args, char **error, void *data) |
372 { | 392 { |
373 purple_conversation_foreach(clear_conversation_scrollback); | 393 purple_conversation_foreach(clear_conversation_scrollback); |
374 return PURPLE_CMD_STATUS_OK; | 394 return PURPLE_CMD_RET_OK; |
375 } | 395 } |
376 | 396 |
377 static PurpleCmdRet | 397 static PurpleCmdRet |
378 help_command_cb(PurpleConversation *conv, | 398 help_command_cb(PurpleConversation *conv, |
379 const char *cmd, char **args, char **error, void *data) | 399 const char *cmd, char **args, char **error, void *data) |
408 } | 428 } |
409 | 429 |
410 purple_conversation_write(conv, NULL, s->str, PURPLE_MESSAGE_NO_LOG, time(NULL)); | 430 purple_conversation_write(conv, NULL, s->str, PURPLE_MESSAGE_NO_LOG, time(NULL)); |
411 g_string_free(s, TRUE); | 431 g_string_free(s, TRUE); |
412 | 432 |
413 return PURPLE_CMD_STATUS_OK; | 433 return PURPLE_CMD_RET_OK; |
414 } | 434 } |
415 | 435 |
416 static void | 436 static void |
417 send_history_add(PidginConversation *gtkconv, const char *message) | 437 send_history_add(PidginConversation *gtkconv, const char *message) |
418 { | 438 { |
3857 } | 3877 } |
3858 | 3878 |
3859 gtk_size_group_add_widget(sg, image); | 3879 gtk_size_group_add_widget(sg, image); |
3860 | 3880 |
3861 /* Make our menu item */ | 3881 /* Make our menu item */ |
3862 text = g_strdup_printf("%s (%s)", name, purple_account_get_username(account)); | 3882 text = g_strdup_printf("%s (%s)", name, purple_account_get_name_for_display(account)); |
3863 menuitem = gtk_radio_menu_item_new_with_label(*group, text); | 3883 menuitem = gtk_radio_menu_item_new_with_label(*group, text); |
3864 g_free(text); | 3884 g_free(text); |
3865 *group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem)); | 3885 *group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem)); |
3866 | 3886 |
3867 /* Do some evil, see some evil, speak some evil. */ | 3887 /* Do some evil, see some evil, speak some evil. */ |
7208 | 7228 |
7209 if (value) | 7229 if (value) |
7210 pidgin_setup_gtkspell(GTK_TEXT_VIEW(gtkconv->entry)); | 7230 pidgin_setup_gtkspell(GTK_TEXT_VIEW(gtkconv->entry)); |
7211 else { | 7231 else { |
7212 spell = gtkspell_get_from_text_view(GTK_TEXT_VIEW(gtkconv->entry)); | 7232 spell = gtkspell_get_from_text_view(GTK_TEXT_VIEW(gtkconv->entry)); |
7213 gtkspell_detach(spell); | 7233 if (spell) |
7234 gtkspell_detach(spell); | |
7214 } | 7235 } |
7215 } | 7236 } |
7216 #endif | 7237 #endif |
7217 } | 7238 } |
7218 | 7239 |