--- a/libpurple/protocols/msn/notification.c Sat Jan 21 12:02:41 2012 +0000
+++ b/libpurple/protocols/msn/notification.c Thu Feb 23 08:13:23 2012 +0000
@@ -164,10 +164,7 @@
msn_session_set_login_step(session, MSN_LOGIN_STEP_AUTH_END);
- if (session->protocol_ver >= 16)
- trans = msn_transaction_new(cmdproc, "USR", "SSO S %s %s %s", ticket, response, session->guid);
- trans = msn_transaction_new(cmdproc, "USR", "SSO S %s %s", ticket, response);
+ trans = msn_transaction_new(cmdproc, "USR", "SSO S %s %s %s", ticket, response, session->guid); msn_cmdproc_send_trans(cmdproc, trans);
@@ -359,23 +356,34 @@
/*send Message to Yahoo Messenger*/
-uum_send_msg(MsnSession *session,MsnMessage *msg)
+msn_notification_send_uum(MsnSession *session, MsnMessage *msg) + g_return_if_fail(msg != NULL); cmdproc = session->notification->cmdproc;
- g_return_if_fail(msg != NULL);
payload = msn_message_gen_payload(msg, &payload_len);
+ user = msn_userlist_find_user(session->userlist, msg->remote_user); + network = msn_user_get_network(user); + network = MSN_NETWORK_PASSPORT; "send UUM, payload{%s}, strlen:%" G_GSIZE_FORMAT ", len:%" G_GSIZE_FORMAT "\n",
payload, strlen(payload), payload_len);
- trans = msn_transaction_new(cmdproc, "UUM", "%s 32 %d %" G_GSIZE_FORMAT,
- msg->remote_user, type, payload_len);
+ trans = msn_transaction_new(cmdproc, "UUM", "%s %d %d %" G_GSIZE_FORMAT, + msg->remote_user, network, type, payload_len); msn_transaction_set_payload(trans, payload, strlen(payload));
msn_cmdproc_send_trans(cmdproc, trans);
@@ -390,10 +398,7 @@
* command and we are processing it */
if (cmd->payload == NULL) {
cmdproc->last_cmd->payload_cb = msg_cmd_post;
- if (cmdproc->session->protocol_ver >= 16)
- cmd->payload_len = atoi(cmd->params[5]);
- cmd->payload_len = atoi(cmd->params[3]);
+ cmd->payload_len = atoi(cmd->params[5]); g_return_if_fail(cmd->payload_cb != NULL);
@@ -1042,7 +1047,7 @@
networkid = atoi(cmd->params[3]);
friendly = g_strdup(purple_url_decode(cmd->params[4]));
clientid = strtoul(cmd->params[5], &extcap_str, 10);
- if (session->protocol_ver >= 16 && extcap_str && *extcap_str)
+ if (extcap_str && *extcap_str) extcaps = strtoul(extcap_str+1, NULL, 10);
@@ -1056,7 +1061,7 @@
networkid = atoi(cmd->params[3]);
friendly = g_strdup(purple_url_decode(cmd->params[4]));
clientid = strtoul(cmd->params[5], &extcap_str, 10);
- if (session->protocol_ver >= 16 && extcap_str && *extcap_str)
+ if (extcap_str && *extcap_str) extcaps = strtoul(extcap_str+1, NULL, 10);
@@ -1069,7 +1074,7 @@
networkid = atoi(cmd->params[3]);
friendly = g_strdup(purple_url_decode(cmd->params[4]));
clientid = strtoul(cmd->params[5], &extcap_str, 10);
- if (session->protocol_ver >= 16 && extcap_str && *extcap_str)
+ if (extcap_str && *extcap_str) extcaps = strtoul(extcap_str+1, NULL, 10);
@@ -1077,7 +1082,7 @@
/* MSNP8+ with Display Picture object */
friendly = g_strdup(purple_url_decode(cmd->params[3]));
clientid = strtoul(cmd->params[4], &extcap_str, 10);
- if (session->protocol_ver >= 16 && extcap_str && *extcap_str)
+ if (extcap_str && *extcap_str) extcaps = strtoul(extcap_str+1, NULL, 10);
@@ -1087,7 +1092,7 @@
/* MSNP8+ without Display Picture object */
friendly = g_strdup(purple_url_decode(cmd->params[3]));
clientid = strtoul(cmd->params[4], &extcap_str, 10);
- if (session->protocol_ver >= 16 && extcap_str && *extcap_str)
+ if (extcap_str && *extcap_str) extcaps = strtoul(extcap_str+1, NULL, 10);
@@ -1250,15 +1255,15 @@
unsigned long clientid, extcaps;
- const char *state, *passport, *friendly;
+ const char *state, *friendly; session = cmdproc->session;
- state = cmd->params[0];
- passport = cmd->params[1];
- networkid = atoi(cmd->params[2]);
- friendly = purple_url_decode(cmd->params[3]);
+ state = cmd->params[0]; + msn_parse_user(cmd->params[1], &passport, &networkid); + friendly = purple_url_decode(cmd->params[2]); user = msn_userlist_find_user(session->userlist, passport);
if (user == NULL) return;
@@ -1268,9 +1273,9 @@
msn_update_contact(session, passport, MSN_UPDATE_DISPLAY, friendly);
- if (cmd->param_count == 6)
+ if (cmd->param_count == 5) - msnobj = msn_object_new_from_string(purple_url_decode(cmd->params[5]));
+ msnobj = msn_object_new_from_string(purple_url_decode(cmd->params[4])); msn_user_set_object(user, msnobj);
@@ -1278,8 +1283,8 @@
msn_user_set_object(user, NULL);
- clientid = strtoul(cmd->params[4], &extcap_str, 10);
- if (session->protocol_ver >= 16 && extcap_str && *extcap_str)
+ clientid = strtoul(cmd->params[3], &extcap_str, 10); + if (extcap_str && *extcap_str) extcaps = strtoul(extcap_str+1, NULL, 10);
@@ -1292,6 +1297,8 @@
msn_user_set_state(user, state);
@@ -1705,22 +1712,27 @@
session = cmdproc->session;
- passport = cmd->params[0];
+ msn_parse_user(cmd->params[0], &passport, &network); user = msn_userlist_find_user(session->userlist, passport);
- char *str = g_strndup(payload, len);
+ str = g_strndup(payload, len); purple_debug_info("msn", "unknown user %s, payload is %s\n",
/* Free any existing media info for this user */
g_free(user->extinfo->media_album);
@@ -1767,7 +1779,7 @@
purple_debug_misc("msn", "UBX received.\n");
cmdproc->last_cmd->payload_cb = ubx_cmd_post;
- cmd->payload_len = atoi(cmd->params[2]);
+ cmd->payload_len = atoi(cmd->params[1]); @@ -1812,10 +1824,7 @@
epDataNode = xmlnode_new("EndpointData");
capNode = xmlnode_new_child(epDataNode, "Capabilities");
- if (session->protocol_ver >= 16)
- caps = g_strdup_printf("%d:%02d", MSN_CLIENT_ID_CAPABILITIES, MSN_CLIENT_ID_EXT_CAPS);
- caps = g_strdup_printf("%d", MSN_CLIENT_ID_CAPABILITIES);
+ caps = g_strdup_printf("%d:%02d", MSN_CLIENT_ID_CAPABILITIES, MSN_CLIENT_ID_EXT_CAPS); xmlnode_insert_data(capNode, caps, -1);
@@ -1942,6 +1951,22 @@
msn_cmdproc_send_trans(cmdproc, trans);
+msn_notification_send_circle_auth(MsnSession *session, const char *ticket) + cmdproc = session->notification->cmdproc; + encoded = purple_base64_encode((guchar *)ticket, strlen(ticket)); + trans = msn_transaction_new(cmdproc, "USR", "SHA A %s", encoded); + msn_cmdproc_send_trans(cmdproc, trans); /**************************************************************************
**************************************************************************/
--- a/pidgin/gtkdialogs.c Sat Jan 21 12:02:41 2012 +0000
+++ b/pidgin/gtkdialogs.c Thu Feb 23 08:13:23 2012 +0000
@@ -78,8 +78,6 @@
{"Hylke Bons", N_("artist"), "hylkebons@gmail.com"},
{"Sadrul Habib Chowdhury", NULL, NULL},
{"Mark 'KingAnt' Doliner", NULL, "mark@kingant.net"},
- {"Casey Harkins", NULL, NULL},
- {"Ivan Komarov", NULL, "ivan.komarov@pidgin.im"},
{"Gary 'grim' Kramlich", NULL, "grim@pidgin.im"},
{"Richard 'rlaager' Laager", NULL, "rlaager@pidgin.im"},
{"Marcus 'malu' Lundblad", NULL, NULL},
@@ -112,12 +110,14 @@
{"Herman Bloggs", N_("win32 port"), "herman@bluedigits.com"},
{"Thomas Butter", NULL, NULL},
/* feel free to not translate this */
- {N_("Ka-Hing Cheung"), NULL, NULL},
+ {N_("Ka-Hing Cheung"), NULL, NULL}, {"Jim Duchek", N_("maintainer"), "jim@linuxpimps.com"},
{"Sean Egan", NULL, "sean.egan@gmail.com"},
{"Rob Flynn", N_("maintainer"), NULL},
{"Adam Fritzler", N_("libfaim maintainer"), NULL},
{"Christian 'ChipX86' Hammond", N_("webmaster"), NULL},
+ {"Casey Harkins", NULL, NULL}, + {"Ivan Komarov", NULL, "ivan.komarov@pidgin.im"}, /* If "lazy bum" translates literally into a serious insult, use something else or omit it. */
{"Syd Logan", N_("hacker and designated driver [lazy bum]"), NULL},
{"Christopher 'siege' O'Brien", NULL, "taliesein@users.sf.net"},
@@ -142,33 +142,34 @@
-/* Order: Code, then Alphabetical by Last Name */
+/* Order: Code, then Alphabetical by Last Name + Use NULL language and code for secondary translators. */ static const struct translator translators[] = {
{N_("Afrikaans"), "af", "Samuel Murray", "afrikaans@gmail.com"},
- {N_("Afrikaans"), "af", "Friedel Wolff", "friedel@translate.org.za"},
+ {NULL, NULL, "Friedel Wolff", "friedel@translate.org.za"}, {N_("Arabic"), "ar", "Khaled Hosny", "khaledhosny@eglug.org"},
{N_("Assamese"), "as", "Amitakhya Phukan", "aphukan@fedoraproject.org"},
{N_("Belarusian Latin"), "be@latin", "Ihar Hrachyshka", "ihar.hrachyshka@gmail.com"},
{N_("Bulgarian"), "bg", "Vladimira Girginova", "missing@here.is"},
- {N_("Bulgarian"), "bg", "Vladimir (Kaladan) Petkov", "kaladan@gmail.com"},
+ {NULL, NULL, "Vladimir (Kaladan) Petkov", "kaladan@gmail.com"}, {N_("Bengali"), "bn", "Israt Jahan", "israt@ankur.org.bd"},
- {N_("Bengali"), "bn", "Jamil Ahmed", "jamil@bengalinux.org"},
- {N_("Bengali"), "bn", "Samia Nimatullah", "mailsamia2001@yahoo.com"},
+ {NULL, NULL, "Jamil Ahmed", "jamil@bengalinux.org"}, + {NULL, NULL, "Samia Nimatullah", "mailsamia2001@yahoo.com"}, {N_("Bengali-India"), "bn_IN", "Runa Bhattacharjee", "runab@fedoraproject.org"},
{N_("Bosnian"), "bs", "Lejla Hadzialic", "lejlah@gmail.com"},
{N_("Catalan"), "ca", "Josep Puigdemont", "josep.puigdemont@gmail.com"},
{N_("Valencian-Catalan"), "ca@valencia", "Toni Hermoso", "toniher@softcatala.org"},
- {N_("Valencian-Catalan"), "ca@valencia", "Josep Puigdemont", "tradgnome@softcatala.org"},
+ {NULL, NULL, "Josep Puigdemont", "tradgnome@softcatala.org"}, {N_("Czech"), "cs", "David Vachulka", "david@konstrukce-cad.com"},
{N_("Danish"), "da", "Morten Brix Pedersen", "morten@wtf.dk"},
- {N_("Danish"), "da", "Peter Bach", "bach.peter@gmail.com"},
+ {NULL, NULL, "Peter Bach", "bach.peter@gmail.com"}, {N_("German"), "de", "Björn Voigt", "bjoern@cs.tu-berlin.de"},
- {N_("German"), "de", "Jochen Kemnade", "jochenkemnade@web.de"},
+ {NULL, NULL, "Jochen Kemnade", "jochenkemnade@web.de"}, {N_("Dzongkha"), "dz", "Norbu", "nor_den@hotmail.com"},
- {N_("Dzongkha"), "dz", "Jurmey Rabgay", "jur_gay@yahoo.com"},
- {N_("Dzongkha"), "dz", "Wangmo Sherpa", "rinwanshe@yahoo.com"},
+ {NULL, NULL, "Jurmey Rabgay", "jur_gay@yahoo.com"}, + {NULL, NULL, "Wangmo Sherpa", "rinwanshe@yahoo.com"}, {N_("Greek"), "el", "Katsaloulis Panayotis", "panayotis@panayotis.com"},
- {N_("Greek"), "el", "Bouklis Panos", "panos@echidna-band.com"},
+ {NULL, NULL, "Bouklis Panos", "panos@echidna-band.com"}, {N_("Australian English"), "en_AU", "Peter Lawler", "trans@six-by-nine.com.au"},
{N_("British English"), "en_GB", "Phil Hannent", "phil@hannent.co.uk"},
{N_("Canadian English"), "en_CA", "Adam Weinberger", "adamw@gnome.org"},
@@ -177,18 +178,18 @@
{N_("Estonian"), "et", "Ivar Smolin", "okul@linux.ee"},
{N_("Basque"), "eu", "Mikel Pascual Aldabaldetreku", "mikel.paskual@gmail.com"},
{N_("Persian"), "fa", "Elnaz Sarbar", "elnaz@farsiweb.info"},
- {N_("Persian"), "fa", "Meelad Zakaria", "meelad@farsiweb.info"},
- {N_("Persian"), "fa", "Roozbeh Pournader ", "roozbeh@farsiweb.info"},
+ {NULL, NULL, "Meelad Zakaria", "meelad@farsiweb.info"}, + {NULL, NULL, "Roozbeh Pournader ", "roozbeh@farsiweb.info"}, {N_("Finnish"), "fi", "Timo Jyrinki", "timo.jyrinki@iki.fi"},
{N_("French"), "fr", "Éric Boumaour", "zongo_fr@users.sourceforge.net"},
{N_("Irish"), "ga", "Aaron Kearns", "ajkearns6@gmail.com"},
{N_("Galician"), "gl", "Mar Castro", "mariamarcp@gmail.com"},
- {N_("Galician"), "gl", "Frco. Javier Rial", "fjrial@cesga.es"},
+ {NULL, NULL, "Frco. Javier Rial", "fjrial@cesga.es"}, {N_("Gujarati"), "gu", "Ankit Patel", "ankit_patel@users.sf.net"},
- {N_("Gujarati"), "gu", N_("Gujarati Language Team"), "indianoss-gujarati@lists.sourceforge.net"},
+ {NULL, NULL, N_("Gujarati Language Team"), "indianoss-gujarati@lists.sourceforge.net"}, {N_("Hebrew"), "he", "Shalom Craimer", "scraimer@gmail.com"},
{N_("Hindi"), "hi", "Sangeeta Kumari", "sangeeta_0975@yahoo.com"},
- {N_("Hindi"), "hi", "Rajesh Ranjan", "rajeshkajha@yahoo.com"},
+ {NULL, NULL, "Rajesh Ranjan", "rajeshkajha@yahoo.com"}, {N_("Croatian"), "hr", "Sabina Drempetić", "bina91991@googlemail.com"},
{N_("Hungarian"), "hu", "Kelemen Gábor", "kelemeng@gnome.hu"},
{N_("Armenian"), "hy", "David Avsharyan", "avsharyan@gmail.com"},
@@ -200,15 +201,15 @@
{N_("Kannada"), "kn", N_("Kannada Translation team"), "translation@sampada.info"},
{N_("Korean"), "ko", "Sushizang", "sushizang@empal.com"},
{N_("Kurdish"), "ku", "Erdal Ronahi", "erdal.ronahi@gmail.com"},
- {N_("Kurdish"), "ku", "Amed Ç. Jiyan", "amedcj@hotmail.com"},
- {N_("Kurdish"), "ku", "Rizoyê Xerzî", "rizoxerzi@hotmail.com"},
+ {NULL, NULL, "Amed Ç. Jiyan", "amedcj@hotmail.com"}, + {NULL, NULL, "Rizoyê Xerzî", "rizoxerzi@hotmail.com"}, {N_("Lao"), "lo", "Anousak Souphavah", "anousak@gmail.com"},
{N_("Maithili"), "mai", "Sangeeta Kumari", "sangeeta_0975@yahoo.com"},
- {N_("Maithili"), "mai", "Rajesh Ranjan", "rajeshkajha@yahoo.com"},
+ {NULL, NULL, "Rajesh Ranjan", "rajeshkajha@yahoo.com"}, {N_("Meadow Mari"), "mhr", "David Preece", "davidpreece1@gmail.com"},
{N_("Macedonian"), "mk", "Arangel Angov ", "arangel@linux.net.mk"},
- {N_("Macedonian"), "mk", "Ivana Kirkovska", "ivana.kirkovska@gmail.com"},
- {N_("Macedonian"), "mk", "Jovan Naumovski", "jovan@lugola.net"},
+ {NULL, NULL, "Ivana Kirkovska", "ivana.kirkovska@gmail.com"}, + {NULL, NULL, "Jovan Naumovski", "jovan@lugola.net"}, {N_("Malayalam"), "ml", "Ani Peter", "apeter@redhat.com"},
{N_("Mongolian"), "mn", "gooyo", NULL},
{N_("Marathi"), "mr", "Sandeep Shedmake", "sandeep.shedmake@gmail.com"},
@@ -225,20 +226,20 @@
{N_("Portuguese-Brazil"), "pt_BR", "Rodrigo Luiz Marques Flores", "rodrigomarquesflores@gmail.com"},
{N_("Pashto"), "ps", "Kashif Masood", "masudmails@yahoo.com"},
{N_("Romanian"), "ro", "Mișu Moldovan", "dumol@gnome.org"},
- {N_("Romanian"), "ro", "Andrei Popescu", "andreimpopescu@gmail.com"},
+ {NULL, NULL, "Andrei Popescu", "andreimpopescu@gmail.com"}, {N_("Russian"), "ru", "Антон Самохвалов", "samant.ua@mail.ru"},
{N_("Slovak"), "sk", "Jozef Káčer", "quickparser@gmail.com"},
- {N_("Slovak"), "sk", "loptosko", "loptosko@gmail.com"},
+ {NULL, NULL, "loptosko", "loptosko@gmail.com"}, {N_("Slovenian"), "sl", "Martin Srebotnjak", "miles@filmsi.net"},
{N_("Albanian"), "sq", "Besnik Bleta", "besnik@programeshqip.org"},
{N_("Serbian"), "sr", "Miloš Popović", "gpopac@gmail.com"},
- {N_("Serbian"), "sr@Latn", "Miloš Popović", "gpopac@gmail.com"},
+ {N_("Serbian Latin"), "sr@latin", "Miloš Popović", "gpopac@gmail.com"}, {N_("Sinhala"), "si", "Danishka Navin", "snavin@redhat.com"},
- {N_("Sinhala"), "si", "Yajith Ajantha Dayarathna", "yajith@gmail.com"},
+ {NULL, NULL, "Yajith Ajantha Dayarathna", "yajith@gmail.com"}, {N_("Swedish"), "sv", "Peter Hjalmarsson", "xake@telia.com"},
{N_("Swahili"), "sw", "Paul Msegeya", "msegeya@gmail.com"},
{N_("Tamil"), "ta", "I. Felix", "ifelix25@gmail.com"},
- {N_("Tamil"), "ta", "Viveka Nathan K", "vivekanathan@users.sourceforge.net"},
+ {NULL, NULL, "Viveka Nathan K", "vivekanathan@users.sourceforge.net"}, {N_("Telugu"), "te", "Krishnababu Krottapalli", "krottapalli@ymail.com"},
{N_("Thai"), "th", "Isriya Paireepairit", "markpeak@gmail.com"},
{N_("Turkish"), "tr", "Serdar Soytetir", "tulliana@gmail.com"},
@@ -247,10 +248,10 @@
{N_("Vietnamese"), "vi", N_("T.M.Thanh and the Gnome-Vi Team"), "gnomevi-list@lists.sf.net"},
{N_("Simplified Chinese"), "zh_CN", "Aron Xu", "happyaron.xu@gmail.com"},
{N_("Hong Kong Chinese"), "zh_HK", "Abel Cheung", "abelindsay@gmail.com"},
- {N_("Hong Kong Chinese"), "zh_HK", "Ambrose C. Li", "acli@ada.dhs.org"},
- {N_("Hong Kong Chinese"), "zh_HK", "Paladin R. Liu", "paladin@ms1.hinet.net"},
+ {NULL, NULL, "Ambrose C. Li", "acli@ada.dhs.org"}, + {NULL, NULL, "Paladin R. Liu", "paladin@ms1.hinet.net"}, {N_("Traditional Chinese"), "zh_TW", "Ambrose C. Li", "acli@ada.dhs.org"},
- {N_("Traditional Chinese"), "zh_TW", "Paladin R. Liu", "paladin@ms1.hinet.net"},
+ {NULL, NULL, "Paladin R. Liu", "paladin@ms1.hinet.net"}, @@ -260,67 +261,71 @@
{N_("Arabic"), "ar", "Mohamed Magdy", "alnokta@yahoo.com"},
{N_("Bulgarian"), "bg", "Hristo Todorov", NULL},
{N_("Bengali"), "bn", "INDRANIL DAS GUPTA", "indradg@l2c2.org"},
- {N_("Bengali"), "bn", "Tisa Nafisa", "tisa_nafisa@yahoo.com"},
+ {NULL, NULL, "Tisa Nafisa", "tisa_nafisa@yahoo.com"}, {N_("Catalan"), "ca", "JM Pérez Cáncer", NULL},
- {N_("Catalan"), "ca", "Robert Millan", NULL},
+ {NULL, NULL, "Robert Millan", NULL}, {N_("Czech"), "cs", "Honza Král", NULL},
- {N_("Czech"), "cs", "Miloslav Trmac", "mitr@volny.cz"},
- {N_("German"), "de", "Daniel Seifert, Karsten Weiss", NULL},
+ {NULL, NULL, "Miloslav Trmac", "mitr@volny.cz"}, + {N_("German"), "de", "Daniel Seifert", NULL}, + {NULL, NULL, "Karsten Weiss", NULL}, {N_("British English"), "en_GB", "Luke Ross", "luke@lukeross.name"},
{N_("Spanish"), "es", "JM Pérez Cáncer", NULL},
- {N_("Spanish"), "es", "Nicolás Lichtmaier", NULL},
- {N_("Spanish"), "es", "Amaya Rodrigo", NULL},
- {N_("Spanish"), "es", "Alejandro G Villar", NULL},
+ {NULL, NULL, "Nicolás Lichtmaier", NULL}, + {NULL, NULL, "Amaya Rodrigo", NULL}, + {NULL, NULL, "Alejandro G Villar", NULL}, {N_("Basque"), "eu", "Iñaki Larrañaga Murgoitio", "dooteo@zundan.com"},
- {N_("Basque"), "eu", "Hizkuntza Politikarako Sailburuordetza", "hizkpol@ej-gv.es"},
+ {NULL, NULL, "Hizkuntza Politikarako Sailburuordetza", "hizkpol@ej-gv.es"}, {N_("Finnish"), "fi", "Arto Alakulju", NULL},
- {N_("Finnish"), "fi", "Tero Kuusela", NULL},
+ {NULL, NULL, "Tero Kuusela", NULL}, {N_("French"), "fr", "Sébastien François", NULL},
- {N_("French"), "fr", "Stéphane Pontier", NULL},
- {N_("French"), "fr", "Stéphane Wirtel", NULL},
- {N_("French"), "fr", "Loïc Jeannin", NULL},
+ {NULL, NULL, "Stéphane Pontier", NULL}, + {NULL, NULL, "Stéphane Wirtel", NULL}, + {NULL, NULL, "Loïc Jeannin", NULL}, {N_("Galician"), "gl", "Ignacio Casal Quinteiro", NULL},
{N_("Hebrew"), "he", "Pavel Bibergal", NULL},
{N_("Hindi"), "hi", "Ravishankar Shrivastava", NULL},
{N_("Hungarian"), "hu", "Zoltan Sutto", NULL},
{N_("Italian"), "it", "Salvatore di Maggio", NULL},
{N_("Japanese"), "ja", "Takashi Aihana", NULL},
- {N_("Japanese"), "ja", "Ryosuke Kutsuna", NULL},
- {N_("Japanese"), "ja", "Taku Yasui", NULL},
- {N_("Japanese"), "ja", "Junichi Uekawa", NULL},
+ {NULL, NULL, "Ryosuke Kutsuna", NULL}, + {NULL, NULL, "Taku Yasui", NULL}, + {NULL, NULL, "Junichi Uekawa", NULL}, {N_("Georgian"), "ka", "Temuri Doghonadze", NULL},
- {N_("Korean"), "ko", "Sang-hyun S, A Ho-seok Lee", NULL},
- {N_("Korean"), "ko", "Kyeong-uk Son", NULL},
+ {N_("Korean"), "ko", "Sang-hyun S", NULL}, + {NULL, NULL, "A Ho-seok Lee", NULL}, + {NULL, NULL, "Kyeong-uk Son", NULL}, {N_("Lithuanian"), "lt", "Laurynas Biveinis", "laurynas.biveinis@gmail.com"},
- {N_("Lithuanian"), "lt", "Gediminas Čičinskas", NULL},
- {N_("Lithuanian"), "lt", "Andrius Štikonas", NULL},
+ {NULL, NULL, "Gediminas Čičinskas", NULL}, + {NULL, NULL, "Andrius Štikonas", NULL}, {N_("Macedonian"), "mk", "Tomislav Markovski", NULL},
{N_("Bokmål Norwegian"), "nb", "Hallvard Glad", "hallvard.glad@gmail.com"},
- {N_("Bokmål Norwegian"), "nb", "Petter Johan Olsen", NULL},
- {N_("Bokmål Norwegian"), "nb", "Espen Stefansen", "espenas@gmail.com"},
+ {NULL, NULL, "Petter Johan Olsen", NULL}, + {NULL, NULL, "Espen Stefansen", "espenas@gmail.com"}, {N_("Dutch, Flemish"), "nl", "Vincent van Adrighem", "V.vanAdrighem@dirck.mine.nu"},
{N_("Polish"), "pl", "Emil Nowak", "emil5@go2.pl"},
- {N_("Polish"), "pl", "Paweł Godlewski", "pawel@bajk.pl"},
- {N_("Polish"), "pl", "Krzysztof Foltman", "krzysztof@foltman.com"},
- {N_("Polish"), "pl", "Piotr Makowski", NULL},
- {N_("Polish"), "pl", "Przemysław Sułek", NULL},
+ {NULL, NULL, "Paweł Godlewski", "pawel@bajk.pl"}, + {NULL, NULL, "Krzysztof Foltman", "krzysztof@foltman.com"}, + {NULL, NULL, "Piotr Makowski", NULL}, + {NULL, NULL, "Przemysław Sułek", NULL}, {N_("Portuguese-Brazil"), "pt_BR", "Maurício de Lemos Rodrigues Collares Neto", "mauricioc@gmail.com"},
{N_("Russian"), "ru", "Dmitry Beloglazov", "dmaa@users.sf.net"},
- {N_("Russian"), "ru", "Alexandre Prokoudine", NULL},
- {N_("Russian"), "ru", "Sergey Volozhanin", NULL},
+ {NULL, NULL, "Alexandre Prokoudine", NULL}, + {NULL, NULL, "Sergey Volozhanin", NULL}, {N_("Slovak"), "sk", "Daniel Režný", NULL},
- {N_("Slovak"), "sk", "helix84", NULL},
- {N_("Slovak"), "sk", "Richard Golier", NULL},
+ {NULL, NULL, "helix84", NULL}, + {NULL, NULL, "Richard Golier", NULL}, {N_("Slovenian"), "sl", "Matjaz Horvat", NULL},
{N_("Serbian"), "sr", "Danilo Šegan", "dsegan@gmx.net"},
- {N_("Serbian"), "sr", "Aleksandar Urosevic", "urke@users.sourceforge.net"},
+ {NULL, NULL, "Aleksandar Urosevic", "urke@users.sourceforge.net"}, {N_("Swedish"), "sv", "Tore Lundqvist", NULL},
- {N_("Swedish"), "sv", "Christian Rose", NULL},
+ {NULL, NULL, "Christian Rose", NULL}, {N_("Telugu"), "te", "Mr. Subbaramaih", "info.gist@cdac.in"},
{N_("Turkish"), "tr", "Ahmet Alp BALKAN", NULL},
- {N_("Simplified Chinese"), "zh_CN", "Hashao, Rocky S. Lee", NULL},
- {N_("Simplified Chinese"), "zh_CN", "Funda Wang", "fundawang@linux.net.cn"},
- {N_("Traditional Chinese"), "zh_TW", "Hashao, Rocky S. Lee", NULL},
+ {N_("Simplified Chinese"), "zh_CN", "Hashao", NULL}, + {NULL, NULL, "Rocky S. Lee", NULL}, + {NULL, NULL, "Funda Wang", "fundawang@linux.net.cn"}, + {N_("Traditional Chinese"), "zh_TW", "Hashao", NULL}, + {NULL, NULL, "Rocky S. Lee", NULL}, @@ -329,13 +334,14 @@
for (; list->name != NULL; list++) {
if (list->email != NULL) {
- g_string_append_printf(str, " <a href=\"mailto:%s\">%s</a>%s%s%s<br/>",
- list->email, _(list->name),
+ g_string_append_printf(str, + "<li><a href=\"mailto:%s\" title=\"%s\">%s</a>%s%s%s</li>", + list->email, list->email, _(list->name), list->role ? _(list->role) : "",
- g_string_append_printf(str, " %s%s%s%s<br/>",
+ g_string_append_printf(str, "<li>%s%s%s%s</li>", list->role ? _(list->role) : "",
@@ -347,18 +353,18 @@
add_translators(GString *str, const struct translator *list)
- for (; list->language != NULL; list++) {
+ for (; list->name != NULL; list++) { + if (list->language && list->abbr) { + g_string_append_printf(str, "<dt>%s (%s)</dt>", + _(list->language), list->abbr); if (list->email != NULL) {
- g_string_append_printf(str, " <b>%s (%s)</b> - <a href=\"mailto:%s\">%s</a><br/>",
+ g_string_append_printf(str, + "<dd><a href=\"mailto:%s\" title=\"%s\">%s</a></dd>", + list->email, list->email, - g_string_append_printf(str, " <b>%s (%s)</b> - %s<br/>",
+ g_string_append_printf(str, "<dd>%s</dd>", _(list->name)); @@ -456,8 +462,6 @@
gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
gtk_webview_append_html(GTK_WEBVIEW(webview), string->str);
- /* TODO WEBKIT: This doesn't seem to stay at the top. */
- webkit_web_view_move_cursor(WEBKIT_WEB_VIEW(webview), GTK_MOVEMENT_BUFFER_ENDS, -1);
button = pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_CLOSE,
G_CALLBACK(destroy_win), win);
@@ -491,37 +495,45 @@
str = g_string_sized_new(4096);
g_string_append_printf(str,
- "<CENTER><FONT SIZE=\"4\"><B>%s %s</B></FONT></CENTER> (libpurple %s)"
- "<BR>%s<BR><BR>", PIDGIN_NAME, DISPLAY_VERSION,
+ "<strong>(libpurple %s)<br/>%s</strong>", + PIDGIN_NAME, DISPLAY_VERSION, purple_core_get_version(), REVISION);
g_string_append_printf(str,
- _("%s is a messaging client based on libpurple which is capable of "
+ _("<p>%s is a messaging client based on libpurple which is capable of " "connecting to multiple messaging services at once. %s is written "
"in C using GTK+. %s is released, and may be modified and "
"redistributed, under the terms of the GPL version 2 (or later). "
"A copy of the GPL is distributed with %s. %s is copyrighted by "
"its contributors, a list of whom is also distributed with %s. "
- "There is no warranty for %s.<BR><BR>"), PIDGIN_NAME, PIDGIN_NAME,
+ "There is no warranty for %s.</p>"), PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME);
g_string_append_printf(str,
- _("<FONT SIZE=\"4\"><B>Helpful Resources</B></FONT><BR>\t<A "
- "HREF=\"%s\">Website</A><BR>\t<A HREF=\"%s\">Frequently Asked "
- "Questions</A><BR>\tIRC Channel: #pidgin on irc.freenode.net<BR>"
- "\tXMPP MUC: devel@conference.pidgin.im<BR><BR>"), PURPLE_WEBSITE,
+ _("<h3>Helpful Resources</h3>" + "<li><a href=\"%s\" title=\"%s\">Website</a></li>" + "<li><a href=\"%s\" title=\"%s\">Frequently Asked Questions</a></li>" + "<li>IRC Channel: #pidgin on irc.freenode.net</li>" + "<li>XMPP MUC: devel@conference.pidgin.im</li>" + PURPLE_WEBSITE, PURPLE_WEBSITE, + "http://developer.pidgin.im/wiki/FAQ", "http://developer.pidgin.im/wiki/FAQ");
g_string_append_printf(str,
- _("<font size=\"4\"><b>Help from other Pidgin users</b></font> is "
- "available by e-mailing <a "
- "href=\"mailto:support@pidgin.im\">support@pidgin.im</a><br/>"
- "This is a <b>public</b> mailing list! "
- "(<a href=\"http://pidgin.im/pipermail/support/\">archive</a>)<br/>"
+ _("<p><strong>Help from other Pidgin users</strong> is available " + "by e-mailing <a href=\"mailto:%s\">%s</a>.<br/>" + "This is a <strong>public</strong> mailing list! " + "(<a href=\"%s\" title=\"%s\">archive</a>)<br/>" "We can't help with third-party protocols or plugins!<br/>"
- "This list's primary language is <b>English</b>. You are "
- "welcome to post in another language, but the responses may "
- "be less helpful.<br/>"));
+ "This list's primary language is <strong>English</strong>. You " + "are welcome to post in another language, but the responses may " + "be less helpful.</p>"), + "support@pidgin.im", "support@pidgin.im", + "http://pidgin.im/pipermail/support/", + "http://pidgin.im/pipermail/support/"); tmp = g_strdup_printf(_("About %s"), PIDGIN_NAME);
about = pidgin_build_help_dialog(tmp, "about", str);
@@ -543,175 +555,179 @@
str = g_string_sized_new(4096);
g_string_append_printf(str,
- "<FONT SIZE=\"4\"><B>%s %s</B></FONT> (libpurple %s)<BR>%s<BR><BR>", PIDGIN_NAME, DISPLAY_VERSION, purple_core_get_version(), REVISION);
+ "<strong>(libpurple %s)<br/>%s</strong>", + PIDGIN_NAME, DISPLAY_VERSION, purple_core_get_version(), REVISION); - g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s</B></FONT><br/>", _("Build Information"));
+ g_string_append_printf(str, "<h3>%s</h3><dl>", _("Build Information")); - /* The following primarly intented for user/developer interaction and thus
- ought not be translated */
+ /* The following is primarily intended for user/developer interaction and + thus ought not be translated */ #ifdef CONFIG_ARGS /* win32 build doesn't use configure */
- g_string_append(str, " <b>Arguments to <i>./configure</i>:</b> " CONFIG_ARGS "<br/>");
+ g_string_append(str, "<dt>Arguments to <em>./configure</em>:</dt><dd>" CONFIG_ARGS "</dd>"); - g_string_append(str, " <b>Print debugging messages:</b> Yes<br/>");
+ g_string_append(str, "<dt>Print debugging messages:</dt><dd>Yes</dd>"); - g_string_append(str, " <b>Print debugging messages:</b> No<br/>");
+ g_string_append(str, "<dt>Print debugging messages:</dt><dd>No</dd>"); - g_string_append(str, " <b>Plugins:</b> Enabled<br/>");
+ g_string_append(str, "<dt>Plugins:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Plugins:</b> Disabled<br/>");
+ g_string_append(str, "<dt>Plugins:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>SSL:</b> SSL support is present.<br/>");
+ g_string_append(str, "<dt>SSL:</dt><dd>SSL support is present.</dd>"); - g_string_append(str, " <b>SSL:</b> SSL support was <b><i>NOT</i></b> compiled!<br/>");
+ g_string_append(str, "<dt>SSL:</dt><dd>SSL support was <strong><em>NOT</em></strong> compiled!</dd>"); /* This might be useful elsewhere too, but it is particularly useful for
- * debugging stuff known to be GTK+/Glib bugs on Windows */
+ * debugging stuff known to be GTK+/GLib bugs on Windows */ - g_string_append_printf(str, " <b>GTK+ Runtime:</b> %u.%u.%u<br/>"
- " <b>Glib Runtime:</b> %u.%u.%u<br/>",
+ g_string_append_printf(str, "<dt>GTK+ Runtime:</dt><dd>%u.%u.%u</dd>" + "<dt>GLib Runtime:</dt><dd>%u.%u.%u</dd>", gtk_major_version, gtk_minor_version, gtk_micro_version,
glib_major_version, glib_minor_version, glib_micro_version);
-g_string_append(str, "<br/> <b>Library Support</b><br/>");
+ g_string_append(str, "</dl><h3>Library Support</h3><dl>"); - g_string_append_printf(str, " <b>Cyrus SASL:</b> Enabled<br/>");
+ g_string_append_printf(str, "<dt>Cyrus SASL:</dt><dd>Enabled</dd>"); - g_string_append_printf(str, " <b>Cyrus SASL:</b> Disabled<br/>");
+ g_string_append_printf(str, "<dt>Cyrus SASL:</dt><dd>Disabled</dd>"); - g_string_append_printf(str, " <b>D-Bus:</b> Enabled<br/>");
+ g_string_append_printf(str, "<dt>D-Bus:</dt><dd>Enabled</dd>"); - g_string_append_printf(str, " <b>D-Bus:</b> Disabled<br/>");
+ g_string_append_printf(str, "<dt>D-Bus:</dt><dd>Disabled</dd>"); #ifdef HAVE_EVOLUTION_ADDRESSBOOK
- g_string_append_printf(str, " <b>Evolution Addressbook:</b> Enabled<br/>");
+ g_string_append_printf(str, "<dt>Evolution Addressbook:</dt><dd>Enabled</dd>"); - g_string_append_printf(str, " <b>Evolution Addressbook:</b> Disabled<br/>");
+ g_string_append_printf(str, "<dt>Evolution Addressbook:</dt><dd>Disabled</dd>"); #if defined(_WIN32) || defined(USE_INTERNAL_LIBGADU)
- g_string_append(str, " <b>Gadu-Gadu library (libgadu):</b> Internal<br/>");
+ g_string_append(str, "<dt>Gadu-Gadu library (libgadu):</dt><dd>Internal</dd>"); - g_string_append(str, " <b>Gadu-Gadu library (libgadu):</b> Enabled<br/>");
+ g_string_append(str, "<dt>Gadu-Gadu library (libgadu):</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Gadu-Gadu library (libgadu):</b> Disabled<br/>");
+ g_string_append(str, "<dt>Gadu-Gadu library (libgadu):</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>GtkSpell:</b> Enabled<br/>");
+ g_string_append(str, "<dt>GtkSpell:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>GtkSpell:</b> Disabled<br/>");
+ g_string_append(str, "<dt>GtkSpell:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>GnuTLS:</b> Enabled<br/>");
+ g_string_append(str, "<dt>GnuTLS:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>GnuTLS:</b> Disabled<br/>");
+ g_string_append(str, "<dt>GnuTLS:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>GStreamer:</b> Enabled<br/>");
+ g_string_append(str, "<dt>GStreamer:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>GStreamer:</b> Disabled<br/>");
+ g_string_append(str, "<dt>GStreamer:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>Mono:</b> Enabled<br/>");
+ g_string_append(str, "<dt>Mono:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Mono:</b> Disabled<br/>");
+ g_string_append(str, "<dt>Mono:</dt><dd>Disabled</dd>"); #ifdef HAVE_NETWORKMANAGER
- g_string_append(str, " <b>NetworkManager:</b> Enabled<br/>");
+ g_string_append(str, "<dt>NetworkManager:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>NetworkManager:</b> Disabled<br/>");
+ g_string_append(str, "<dt>NetworkManager:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>Network Security Services (NSS):</b> Enabled<br/>");
+ g_string_append(str, "<dt>Network Security Services (NSS):</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Network Security Services (NSS):</b> Disabled<br/>");
+ g_string_append(str, "<dt>Network Security Services (NSS):</dt><dd>Disabled</dd>"); -if (purple_plugins_find_with_id("core-perl") != NULL)
- g_string_append(str, " <b>Perl:</b> Enabled<br/>");
- g_string_append(str, " <b>Perl:</b> Disabled<br/>");
+ if (purple_plugins_find_with_id("core-perl") != NULL) + g_string_append(str, "<dt>Perl:</dt><dd>Enabled</dd>"); + g_string_append(str, "<dt>Perl:</dt><dd>Disabled</dd>"); -if (purple_plugins_find_with_id("core-tcl") != NULL) {
- g_string_append(str, " <b>Tcl:</b> Enabled<br/>");
+ if (purple_plugins_find_with_id("core-tcl") != NULL) { + g_string_append(str, "<dt>Tcl:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Tk:</b> Enabled<br/>");
+ g_string_append(str, "<dt>Tk:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Tk:</b> Disabled<br/>");
+ g_string_append(str, "<dt>Tk:</dt><dd>Disabled</dd>");
- g_string_append(str, " <b>Tcl:</b> Disabled<br/>");
- g_string_append(str, " <b>Tk:</b> Disabled<br/>");
+ g_string_append(str, "<dt>Tcl:</dt><dd>Disabled</dd>"); + g_string_append(str, "<dt>Tk:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>UTF-8 DNS (IDN):</b> Enabled<br/>");
+ g_string_append(str, "<dt>UTF-8 DNS (IDN):</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>UTF-8 DNS (IDN):</b> Disabled<br/>");
+ g_string_append(str, "<dt>UTF-8 DNS (IDN):</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>Voice and Video:</b> Enabled<br/>");
+ g_string_append(str, "<dt>Voice and Video:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>Voice and Video:</b> Disabled<br/>");
+ g_string_append(str, "<dt>Voice and Video:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>X Session Management:</b> Enabled<br/>");
+ g_string_append(str, "<dt>X Session Management:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>X Session Management:</b> Disabled<br/>");
+ g_string_append(str, "<dt>X Session Management:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>XScreenSaver:</b> Enabled<br/>");
+ g_string_append(str, "<dt>XScreenSaver:</dt><dd>Enabled</dd>"); - g_string_append(str, " <b>XScreenSaver:</b> Disabled<br/>");
+ g_string_append(str, "<dt>XScreenSaver:</dt><dd>Disabled</dd>"); - g_string_append(str, " <b>Zephyr library (libzephyr):</b> External<br/>");
+ g_string_append(str, "<dt>Zephyr library (libzephyr):</dt><dd>External</dd>"); - g_string_append(str, " <b>Zephyr library (libzephyr):</b> Internal<br/>");
+ g_string_append(str, "<dt>Zephyr library (libzephyr):</dt><dd>Internal</dd>"); #ifdef ZEPHYR_USES_KERBEROS
- g_string_append(str, " <b>Zephyr uses Kerberos:</b> Yes<br/>");
+ g_string_append(str, "<dt>Zephyr uses Kerberos:</dt><dd>Yes</dd>"); - g_string_append(str, " <b>Zephyr uses Kerberos:</b> No<br/>");
+ g_string_append(str, "<dt>Zephyr uses Kerberos:</dt><dd>No</dd>"); + g_string_append(str, "</dl>"); /* End of not to be translated section */
tmp = g_strdup_printf(_("%s Build Information"), PIDGIN_NAME);
@@ -734,27 +750,28 @@
str = g_string_sized_new(4096);
- g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>",
+ g_string_append_printf(str, "<h3>%s</h3><ul>", _("Current Developers"));
add_developers(str, developers);
- g_string_append(str, "<BR/>");
+ g_string_append(str, "</ul>"); /* Crazy Patch Writers */
- g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>",
+ g_string_append_printf(str, "<h3>%s</h3><ul>", _("Crazy Patch Writers"));
add_developers(str, patch_writers);
- g_string_append(str, "<BR/>");
+ g_string_append(str, "</ul>"); - g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>",
+ g_string_append_printf(str, "<h3>%s</h3><ul>", _("Retired Developers"));
add_developers(str, retired_developers);
- g_string_append(str, "<BR/>");
+ g_string_append(str, "</ul>"); /* Retired Crazy Patch Writers */
- g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>",
+ g_string_append_printf(str, "<h3>%s</h3><ul>", _("Retired Crazy Patch Writers"));
add_developers(str, retired_patch_writers);
+ g_string_append(str, "</ul>"); tmp = g_strdup_printf(_("%s Developer Information"), PIDGIN_NAME);
developer_info = pidgin_build_help_dialog(tmp, "developer_info", str);
@@ -776,15 +793,16 @@
str = g_string_sized_new(4096);
/* Current Translators */
- g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
+ g_string_append_printf(str, "<h3>%s</h3><dl>", _("Current Translators"));
add_translators(str, translators);
- g_string_append(str, "<BR/>");
+ g_string_append(str, "</dl>"); - g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
+ g_string_append_printf(str, "<h3>%s</h3><dl>", add_translators(str, past_translators);
+ g_string_append(str, "</dl>"); tmp = g_strdup_printf(_("%s Translator Information"), PIDGIN_NAME);
translator_info = pidgin_build_help_dialog(tmp, "translator_info", str);
@@ -805,14 +823,14 @@
str = g_string_sized_new(4096);
- g_string_append_printf(str, "<FONT SIZE=\"4\">%s</FONT><BR/>",
- _("Plugin Information"));
+ g_string_append_printf(str, "<h2>%s</h2><dl>", _("Plugin Information")); for(l = purple_plugins_get_all(); l; l = l->next) {
plugin = (PurplePlugin *)l->data;
pname = g_markup_escape_text(purple_plugin_get_name(plugin), -1);
- pauthor = g_markup_escape_text(purple_plugin_get_author(plugin), -1);
+ if ((pauthor = (char *)purple_plugin_get_author(plugin)) != NULL) + pauthor = g_markup_escape_text(pauthor, -1); pver = purple_plugin_get_version(plugin);
pwebsite = purple_plugin_get_homepage(plugin);
pid = purple_plugin_get_id(plugin);
@@ -820,22 +838,29 @@
ploaded = purple_plugin_is_loaded(plugin);
g_string_append_printf(str,
- "<FONT SIZE=\"3\"><B>%s</B></FONT><BR/><FONT SIZE=\"2\">"
- "\t<B>Author:</B> %s<BR/>\t<B>Version:</B> %s<BR/>"
- "\t<B>Website:</B> %s<BR/>\t<B>ID String:</B> %s<BR/>"
- "\t<B>Loadable:</B> %s<BR/>\t<B>Loaded:</B> %s<BR/>"
- "<BR/></FONT>", pname, pauthor ? pauthor : "(null)",
+ "<b>Author:</b> %s<br/>" + "<b>Version:</b> %s<br/>" + "<b>Website:</b> %s<br/>" + "<b>ID String:</b> %s<br/>" + "<b>Loadable:</b> %s<br/>" + pname, pauthor ? pauthor : "(null)", - punloadable ? "<FONT COLOR=\"#FF0000\"><B>No</B></FONT>" : "Yes",
+ punloadable ? "<span style=\"color: #FF0000;\"><b>No</b></span>" : "Yes", + g_string_append(str, "</dl>"); plugins_info = pidgin_build_help_dialog(title, "plugins_info", str);
g_signal_connect(G_OBJECT(plugins_info), "destroy",
G_CALLBACK(gtk_widget_destroyed), &plugins_info);