Mercurial > pidgin.yaz
diff libpurple/protocols/silc10/silc.c @ 25705:e23b447aa5ca
propagate from branch 'im.pidgin.pidgin' (head e3ceb09b71185a9074ce73733f2a65b437c9a545)
to branch 'im.pidgin.soc.2008.vv' (head a94b36f0065825b75de573746f680ae616b34f41)
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Wed, 16 Jul 2008 21:55:08 +0000 |
parents | ff29208e03ef 4a4f733c4bf1 |
children | af42303654a5 |
line wrap: on
line diff
--- a/libpurple/protocols/silc10/silc.c Wed Jul 16 21:42:13 2008 +0000 +++ b/libpurple/protocols/silc10/silc.c Wed Jul 16 21:55:08 2008 +0000 @@ -22,6 +22,7 @@ #include "silcpurple.h" #include "version.h" #include "wb.h" +#include "core.h" extern SilcClientOperations ops; static PurplePlugin *silc_plugin = NULL; @@ -384,12 +385,30 @@ silcpurple_close(PurpleConnection *gc) { SilcPurple sg = gc->proto_data; + GHashTable *ui_info; + const char *ui_name = NULL, *ui_website = NULL; + char *quit_msg; + + g_return_if_fail(sg != NULL); - g_return_if_fail(sg != NULL); + ui_info = purple_core_get_ui_info(); + + if(ui_info) { + ui_name = g_hash_table_lookup(ui_info, "name"); + ui_website = g_hash_table_lookup(ui_info, "website"); + } + + if(!ui_name || !ui_website) { + ui_name = "Pidgin"; + ui_website = PURPLE_WEBSITE; + } + quit_msg = g_strdup_printf(_("Download %s: %s"), + ui_name, ui_website); /* Send QUIT */ silc_client_command_call(sg->client, sg->conn, NULL, - "QUIT", "Download this: " PURPLE_WEBSITE, NULL); + "QUIT", quit_msg, NULL); + g_free(quit_msg); if (sg->conn) silc_client_close_connection(sg->client, sg->conn); @@ -1535,7 +1554,10 @@ { PurpleConnection *gc; SilcPurple sg; - + GHashTable *ui_info; + const char *ui_name = NULL, *ui_website = NULL; + char *quit_msg; + gc = purple_conversation_get_gc(conv); if (gc == NULL) @@ -1546,8 +1568,23 @@ if (sg == NULL) return PURPLE_CMD_RET_FAILED; + ui_info = purple_core_get_ui_info(); + + if(ui_info) { + ui_name = g_hash_table_lookup(ui_info, "name"); + ui_website = g_hash_table_lookup(ui_info, "website"); + } + + if(!ui_name || !ui_website) { + ui_name = "Pidgin"; + ui_website = PURPLE_WEBSITE; + } + quit_msg = g_strdup_printf(_("Download %s: %s"), + ui_name, ui_website); + silc_client_command_call(sg->client, sg->conn, NULL, - "QUIT", (args && args[0]) ? args[0] : "Download this: " PURPLE_WEBSITE, NULL); + "QUIT", (args && args[0]) ? args[0] : quit_msg, NULL); + g_free(quit_msg); return PURPLE_CMD_RET_OK; }