Mercurial > pidgin
changeset 32550:f9650f6b636d
merge of 'd3c4fbebab720da0885766add6272f14814edc99'
and 'deb06ab6aa118efb674f1a8434ff529e67b28809'
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Thu, 23 Feb 2012 09:01:12 +0000 |
parents | cebed34f92eb (current diff) 3f81e3c3064c (diff) |
children | c775aca73d75 |
files | ChangeLog |
diffstat | 5 files changed, 223 insertions(+), 185 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Feb 23 08:32:05 2012 +0000 +++ b/ChangeLog Thu Feb 23 09:01:12 2012 +0000 @@ -51,6 +51,8 @@ Pidgin: * Add support for the GNOME3 Network dialog. (#13882) * Fix rare crash. (#14392) + * Add support for the GNOME3 Default Application dialog for configuring + the Browser. libpurple: * Support new connection states and signals for NetworkManager 0.9+.
--- a/pidgin/gtkconv.c Thu Feb 23 08:32:05 2012 +0000 +++ b/pidgin/gtkconv.c Thu Feb 23 09:01:12 2012 +0000 @@ -8212,6 +8212,7 @@ add_message_history_to_gtkconv(gpointer data) { PidginConversation *gtkconv = data; + GtkWebView *webview = GTK_WEBVIEW(gtkconv->webview); int count = 0; int timer = gtkconv->attach.timer; time_t when = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(gtkconv->entry), "attach-start-time")); @@ -8221,7 +8222,8 @@ while (gtkconv->attach.current && count < 100) { /* XXX: 100 is a random value here */ PurpleConvMessage *msg = gtkconv->attach.current->data; if (!im && when && when < purple_conversation_message_get_timestamp(msg)) { - gtk_webview_append_html(GTK_WEBVIEW(gtkconv->webview), "<BR><HR>"); + gtk_webview_append_html(webview, "<BR><HR>"); + gtk_webview_scroll_to_end(webview, TRUE); g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time", NULL); } pidgin_conv_write_conv( @@ -8268,7 +8270,8 @@ purple_conversation_message_get_flags(msg), purple_conversation_message_get_timestamp(msg)); } - gtk_webview_append_html(GTK_WEBVIEW(gtkconv->webview), "<BR><HR>"); + gtk_webview_append_html(webview, "<BR><HR>"); + gtk_webview_scroll_to_end(webview, TRUE); g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time", NULL); }
--- a/pidgin/gtkdialogs.c Thu Feb 23 08:32:05 2012 +0000 +++ b/pidgin/gtkdialogs.c Thu Feb 23 09:01:12 2012 +0000 @@ -142,33 +142,34 @@ {NULL, NULL, NULL} }; -/* 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"}, {NULL, NULL, NULL, NULL} }; @@ -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}, {NULL, NULL, NULL, 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 ? _(list->role) : "", list->role ? ")" : ""); } else { - g_string_append_printf(str, " %s%s%s%s<br/>", + g_string_append_printf(str, "<li>%s%s%s%s</li>", _(list->name), list->role ? " (" : "", list->role ? _(list->role) : "", @@ -347,18 +353,18 @@ static void 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/>", - _(list->language), - list->abbr, - list->email, + g_string_append_printf(str, + "<dd><a href=\"mailto:%s\" title=\"%s\">%s</a></dd>", + list->email, list->email, _(list->name)); } else { - g_string_append_printf(str, " <b>%s (%s)</b> - %s<br/>", - _(list->language), - list->abbr, - _(list->name)); + 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); @@ -487,37 +491,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, + "<h2>%s %s</h2>" + "<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>" + "<ul>" + "<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>" + "</ul>"), + 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); @@ -539,175 +551,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); + "<h2>%s %s</h2>" + "<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>"); #endif #ifndef _WIN32 #ifdef DEBUG - g_string_append(str, " <b>Print debugging messages:</b> Yes<br/>"); + g_string_append(str, "<dt>Print debugging messages:</dt><dd>Yes</dd>"); #else - g_string_append(str, " <b>Print debugging messages:</b> No<br/>"); + g_string_append(str, "<dt>Print debugging messages:</dt><dd>No</dd>"); #endif #endif #ifdef PURPLE_PLUGINS - g_string_append(str, " <b>Plugins:</b> Enabled<br/>"); + g_string_append(str, "<dt>Plugins:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>Plugins:</b> Disabled<br/>"); + g_string_append(str, "<dt>Plugins:</dt><dd>Disabled</dd>"); #endif #ifdef HAVE_SSL - 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>"); #else - 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>"); #endif /* 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 */ #ifdef _WIN32 - 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); #endif -g_string_append(str, "<br/> <b>Library Support</b><br/>"); + g_string_append(str, "</dl><h3>Library Support</h3><dl>"); #ifdef HAVE_CYRUS_SASL - g_string_append_printf(str, " <b>Cyrus SASL:</b> Enabled<br/>"); + g_string_append_printf(str, "<dt>Cyrus SASL:</dt><dd>Enabled</dd>"); #else - g_string_append_printf(str, " <b>Cyrus SASL:</b> Disabled<br/>"); + g_string_append_printf(str, "<dt>Cyrus SASL:</dt><dd>Disabled</dd>"); #endif #ifndef _WIN32 #ifdef HAVE_DBUS - g_string_append_printf(str, " <b>D-Bus:</b> Enabled<br/>"); + g_string_append_printf(str, "<dt>D-Bus:</dt><dd>Enabled</dd>"); #else - g_string_append_printf(str, " <b>D-Bus:</b> Disabled<br/>"); + g_string_append_printf(str, "<dt>D-Bus:</dt><dd>Disabled</dd>"); #endif #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>"); #else - g_string_append_printf(str, " <b>Evolution Addressbook:</b> Disabled<br/>"); + g_string_append_printf(str, "<dt>Evolution Addressbook:</dt><dd>Disabled</dd>"); #endif #endif #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>"); #else #ifdef HAVE_LIBGADU - 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>"); #else - 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>"); #endif #endif #ifdef USE_GTKSPELL - g_string_append(str, " <b>GtkSpell:</b> Enabled<br/>"); + g_string_append(str, "<dt>GtkSpell:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>GtkSpell:</b> Disabled<br/>"); + g_string_append(str, "<dt>GtkSpell:</dt><dd>Disabled</dd>"); #endif #ifdef HAVE_GNUTLS - g_string_append(str, " <b>GnuTLS:</b> Enabled<br/>"); + g_string_append(str, "<dt>GnuTLS:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>GnuTLS:</b> Disabled<br/>"); + g_string_append(str, "<dt>GnuTLS:</dt><dd>Disabled</dd>"); #endif #ifndef _WIN32 #ifdef USE_GSTREAMER - g_string_append(str, " <b>GStreamer:</b> Enabled<br/>"); + g_string_append(str, "<dt>GStreamer:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>GStreamer:</b> Disabled<br/>"); + g_string_append(str, "<dt>GStreamer:</dt><dd>Disabled</dd>"); #endif #endif #ifndef _WIN32 #ifdef ENABLE_MONO - g_string_append(str, " <b>Mono:</b> Enabled<br/>"); + g_string_append(str, "<dt>Mono:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>Mono:</b> Disabled<br/>"); + g_string_append(str, "<dt>Mono:</dt><dd>Disabled</dd>"); #endif #endif #ifndef _WIN32 #ifdef HAVE_NETWORKMANAGER - g_string_append(str, " <b>NetworkManager:</b> Enabled<br/>"); + g_string_append(str, "<dt>NetworkManager:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>NetworkManager:</b> Disabled<br/>"); + g_string_append(str, "<dt>NetworkManager:</dt><dd>Disabled</dd>"); #endif #endif #ifdef HAVE_NSS - 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>"); #else - 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>"); #endif -if (purple_plugins_find_with_id("core-perl") != NULL) - g_string_append(str, " <b>Perl:</b> Enabled<br/>"); -else - 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>"); + else + 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>"); #ifdef HAVE_TK - g_string_append(str, " <b>Tk:</b> Enabled<br/>"); + g_string_append(str, "<dt>Tk:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>Tk:</b> Disabled<br/>"); + g_string_append(str, "<dt>Tk:</dt><dd>Disabled</dd>"); #endif -} else { - g_string_append(str, " <b>Tcl:</b> Disabled<br/>"); - g_string_append(str, " <b>Tk:</b> Disabled<br/>"); -} + } else { + g_string_append(str, "<dt>Tcl:</dt><dd>Disabled</dd>"); + g_string_append(str, "<dt>Tk:</dt><dd>Disabled</dd>"); + } #ifdef USE_IDN - 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>"); #else - 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>"); #endif #ifdef USE_VV - g_string_append(str, " <b>Voice and Video:</b> Enabled<br/>"); + g_string_append(str, "<dt>Voice and Video:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>Voice and Video:</b> Disabled<br/>"); + g_string_append(str, "<dt>Voice and Video:</dt><dd>Disabled</dd>"); #endif #ifndef _WIN32 #ifdef USE_SM - g_string_append(str, " <b>X Session Management:</b> Enabled<br/>"); + g_string_append(str, "<dt>X Session Management:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>X Session Management:</b> Disabled<br/>"); + g_string_append(str, "<dt>X Session Management:</dt><dd>Disabled</dd>"); #endif #ifdef USE_SCREENSAVER - g_string_append(str, " <b>XScreenSaver:</b> Enabled<br/>"); + g_string_append(str, "<dt>XScreenSaver:</dt><dd>Enabled</dd>"); #else - g_string_append(str, " <b>XScreenSaver:</b> Disabled<br/>"); + g_string_append(str, "<dt>XScreenSaver:</dt><dd>Disabled</dd>"); #endif #ifdef LIBZEPHYR_EXT - g_string_append(str, " <b>Zephyr library (libzephyr):</b> External<br/>"); + g_string_append(str, "<dt>Zephyr library (libzephyr):</dt><dd>External</dd>"); #else - g_string_append(str, " <b>Zephyr library (libzephyr):</b> Internal<br/>"); + g_string_append(str, "<dt>Zephyr library (libzephyr):</dt><dd>Internal</dd>"); #endif #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>"); #else - g_string_append(str, " <b>Zephyr uses Kerberos:</b> No<br/>"); + g_string_append(str, "<dt>Zephyr uses Kerberos:</dt><dd>No</dd>"); #endif #endif + g_string_append(str, "</dl>"); + /* End of not to be translated section */ tmp = g_strdup_printf(_("%s Build Information"), PIDGIN_NAME); @@ -730,27 +746,28 @@ str = g_string_sized_new(4096); /* Current Developers */ - 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>"); /* Retired Developers */ - 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); @@ -772,15 +789,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>"); /* Past Translators */ - g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", + g_string_append_printf(str, "<h3>%s</h3><dl>", _("Past Translators")); 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); @@ -801,14 +819,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); @@ -816,22 +834,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)", + "<dt>%s</dt><dd>" + "<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/>" + "<b>Loaded:</b> %s" + "</dd><br/>", + pname, pauthor ? pauthor : "(null)", pver, pwebsite, pid, - punloadable ? "<FONT COLOR=\"#FF0000\"><B>No</B></FONT>" : "Yes", + punloadable ? "<span style=\"color: #FF0000;\"><b>No</b></span>" : "Yes", ploaded ? "Yes" : "No"); + + g_free(pname); + g_free(pauthor); } + 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); g_free(title); - g_free(pname); - g_free(pauthor); } static void
--- a/pidgin/gtkprefs.c Thu Feb 23 08:32:05 2012 +0000 +++ b/pidgin/gtkprefs.c Thu Feb 23 09:01:12 2012 +0000 @@ -1819,11 +1819,11 @@ #ifndef _WIN32 static void -browser_button_clicked_cb(GtkWidget *button, gpointer null) +browser_button_clicked_cb(GtkWidget *button, gchar *path) { GError *err = NULL; - if (g_spawn_command_line_async ("gnome-default-applications-properties", &err)) + if (g_spawn_command_line_async(path, &err)) return; purple_notify_error(NULL, NULL, _("Cannot start browser configuration program."), err->message); @@ -2094,8 +2094,8 @@ vbox = pidgin_make_frame (ret, _("Browser Selection")); - if(purple_running_gnome()) { - gchar *path = g_find_program_in_path("gnome-default-applications-properties"); + if (purple_running_gnome()) { + gchar *path; hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); label = gtk_label_new(_("Browser preferences are configured in GNOME preferences")); @@ -2105,19 +2105,28 @@ hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); - if(path == NULL) { + path = g_find_program_in_path("gnome-control-center"); + if (path != NULL) { + gchar *tmp = g_strdup_printf("%s info", path); + g_free(path); + path = tmp; + } else { + path = g_find_program_in_path("gnome-default-applications-properties"); + } + + if (path == NULL) { label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), _("<b>Browser configuration program was not found.</b>")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); } else { browser_button = gtk_button_new_with_mnemonic(_("Configure _Browser")); - g_signal_connect(G_OBJECT(browser_button), "clicked", - G_CALLBACK(browser_button_clicked_cb), NULL); + g_signal_connect_data(G_OBJECT(browser_button), "clicked", + G_CALLBACK(browser_button_clicked_cb), path, + (GClosureNotify)g_free, 0); gtk_box_pack_start(GTK_BOX(hbox), browser_button, FALSE, FALSE, 0); } - g_free(path); gtk_widget_show_all(ret); } else { sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
--- a/pidgin/gtkwebview.c Thu Feb 23 08:32:05 2012 +0000 +++ b/pidgin/gtkwebview.c Thu Feb 23 09:01:12 2012 +0000 @@ -579,7 +579,6 @@ char *script = g_strdup_printf("document.write(%s)", escaped); webkit_web_view_execute_script(WEBKIT_WEB_VIEW(webview), script); priv->empty = FALSE; - gtk_webview_scroll_to_end(webview, TRUE); g_free(script); g_free(escaped); }