# HG changeset patch # User Elliott Sales de Andrade # Date 1329987672 0 # Node ID f9650f6b636da0c40d6c678316d51f2774170d9a # Parent cebed34f92ebc5d97f7e96aa297e949680d2dc0c# Parent 3f81e3c3064c9a29597b01cca6969a01d984151d merge of 'd3c4fbebab720da0885766add6272f14814edc99' and 'deb06ab6aa118efb674f1a8434ff529e67b28809' diff -r cebed34f92eb -r f9650f6b636d ChangeLog --- 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+. diff -r cebed34f92eb -r f9650f6b636d pidgin/gtkconv.c --- 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), "

"); + gtk_webview_append_html(webview, "

"); + 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), "

"); + gtk_webview_append_html(webview, "

"); + gtk_webview_scroll_to_end(webview, TRUE); g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time", NULL); } diff -r cebed34f92eb -r f9650f6b636d pidgin/gtkdialogs.c --- 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, " %s%s%s%s
", - list->email, _(list->name), + g_string_append_printf(str, + "
  • %s%s%s%s
  • ", + list->email, list->email, _(list->name), list->role ? " (" : "", list->role ? _(list->role) : "", list->role ? ")" : ""); } else { - g_string_append_printf(str, " %s%s%s%s
    ", + g_string_append_printf(str, "
  • %s%s%s%s
  • ", _(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, "
    %s (%s)
    ", + _(list->language), list->abbr); + } if (list->email != NULL) { - g_string_append_printf(str, " %s (%s) - %s
    ", - _(list->language), - list->abbr, - list->email, + g_string_append_printf(str, + "
    %s
    ", + list->email, list->email, _(list->name)); } else { - g_string_append_printf(str, " %s (%s) - %s
    ", - _(list->language), - list->abbr, - _(list->name)); + g_string_append_printf(str, "
    %s
    ", _(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, - "
    %s %s
    (libpurple %s)" - "
    %s

    ", PIDGIN_NAME, DISPLAY_VERSION, + "

    %s %s

    " + "(libpurple %s)
    %s
    ", + 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 " + _("

    %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.

    "), PIDGIN_NAME, PIDGIN_NAME, + "There is no warranty for %s.

    "), PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME, PIDGIN_NAME); g_string_append_printf(str, - _("Helpful Resources
    \tWebsite
    \tFrequently Asked " - "Questions
    \tIRC Channel: #pidgin on irc.freenode.net
    " - "\tXMPP MUC: devel@conference.pidgin.im

    "), PURPLE_WEBSITE, + _("

    Helpful Resources

    " + ""), + PURPLE_WEBSITE, PURPLE_WEBSITE, + "http://developer.pidgin.im/wiki/FAQ", "http://developer.pidgin.im/wiki/FAQ"); g_string_append_printf(str, - _("Help from other Pidgin users is " - "available by e-mailing support@pidgin.im
    " - "This is a public mailing list! " - "(archive)
    " + _("

    Help from other Pidgin users is available " + "by e-mailing %s.
    " + "This is a public mailing list! " + "(archive)
    " "We can't help with third-party protocols or plugins!
    " - "This list's primary language is English. You are " - "welcome to post in another language, but the responses may " - "be less helpful.
    ")); + "This list's primary language is English. You " + "are welcome to post in another language, but the responses may " + "be less helpful.

    "), + "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, - "%s %s (libpurple %s)
    %s

    ", PIDGIN_NAME, DISPLAY_VERSION, purple_core_get_version(), REVISION); + "

    %s %s

    " + "(libpurple %s)
    %s
    ", + PIDGIN_NAME, DISPLAY_VERSION, purple_core_get_version(), REVISION); - g_string_append_printf(str, "%s
    ", _("Build Information")); + g_string_append_printf(str, "

    %s

    ", _("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, " Arguments to ./configure: " CONFIG_ARGS "
    "); + g_string_append(str, "
    Arguments to ./configure:
    " CONFIG_ARGS "
    "); #endif #ifndef _WIN32 #ifdef DEBUG - g_string_append(str, " Print debugging messages: Yes
    "); + g_string_append(str, "
    Print debugging messages:
    Yes
    "); #else - g_string_append(str, " Print debugging messages: No
    "); + g_string_append(str, "
    Print debugging messages:
    No
    "); #endif #endif #ifdef PURPLE_PLUGINS - g_string_append(str, " Plugins: Enabled
    "); + g_string_append(str, "
    Plugins:
    Enabled
    "); #else - g_string_append(str, " Plugins: Disabled
    "); + g_string_append(str, "
    Plugins:
    Disabled
    "); #endif #ifdef HAVE_SSL - g_string_append(str, " SSL: SSL support is present.
    "); + g_string_append(str, "
    SSL:
    SSL support is present.
    "); #else - g_string_append(str, " SSL: SSL support was NOT compiled!
    "); + g_string_append(str, "
    SSL:
    SSL support was NOT compiled!
    "); #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, " GTK+ Runtime: %u.%u.%u
    " - " Glib Runtime: %u.%u.%u
    ", + g_string_append_printf(str, "
    GTK+ Runtime:
    %u.%u.%u
    " + "
    GLib Runtime:
    %u.%u.%u
    ", gtk_major_version, gtk_minor_version, gtk_micro_version, glib_major_version, glib_minor_version, glib_micro_version); #endif -g_string_append(str, "
    Library Support
    "); + g_string_append(str, "

    Library Support

    "); #ifdef HAVE_CYRUS_SASL - g_string_append_printf(str, " Cyrus SASL: Enabled
    "); + g_string_append_printf(str, "
    Cyrus SASL:
    Enabled
    "); #else - g_string_append_printf(str, " Cyrus SASL: Disabled
    "); + g_string_append_printf(str, "
    Cyrus SASL:
    Disabled
    "); #endif #ifndef _WIN32 #ifdef HAVE_DBUS - g_string_append_printf(str, " D-Bus: Enabled
    "); + g_string_append_printf(str, "
    D-Bus:
    Enabled
    "); #else - g_string_append_printf(str, " D-Bus: Disabled
    "); + g_string_append_printf(str, "
    D-Bus:
    Disabled
    "); #endif #ifdef HAVE_EVOLUTION_ADDRESSBOOK - g_string_append_printf(str, " Evolution Addressbook: Enabled
    "); + g_string_append_printf(str, "
    Evolution Addressbook:
    Enabled
    "); #else - g_string_append_printf(str, " Evolution Addressbook: Disabled
    "); + g_string_append_printf(str, "
    Evolution Addressbook:
    Disabled
    "); #endif #endif #if defined(_WIN32) || defined(USE_INTERNAL_LIBGADU) - g_string_append(str, " Gadu-Gadu library (libgadu): Internal
    "); + g_string_append(str, "
    Gadu-Gadu library (libgadu):
    Internal
    "); #else #ifdef HAVE_LIBGADU - g_string_append(str, " Gadu-Gadu library (libgadu): Enabled
    "); + g_string_append(str, "
    Gadu-Gadu library (libgadu):
    Enabled
    "); #else - g_string_append(str, " Gadu-Gadu library (libgadu): Disabled
    "); + g_string_append(str, "
    Gadu-Gadu library (libgadu):
    Disabled
    "); #endif #endif #ifdef USE_GTKSPELL - g_string_append(str, " GtkSpell: Enabled
    "); + g_string_append(str, "
    GtkSpell:
    Enabled
    "); #else - g_string_append(str, " GtkSpell: Disabled
    "); + g_string_append(str, "
    GtkSpell:
    Disabled
    "); #endif #ifdef HAVE_GNUTLS - g_string_append(str, " GnuTLS: Enabled
    "); + g_string_append(str, "
    GnuTLS:
    Enabled
    "); #else - g_string_append(str, " GnuTLS: Disabled
    "); + g_string_append(str, "
    GnuTLS:
    Disabled
    "); #endif #ifndef _WIN32 #ifdef USE_GSTREAMER - g_string_append(str, " GStreamer: Enabled
    "); + g_string_append(str, "
    GStreamer:
    Enabled
    "); #else - g_string_append(str, " GStreamer: Disabled
    "); + g_string_append(str, "
    GStreamer:
    Disabled
    "); #endif #endif #ifndef _WIN32 #ifdef ENABLE_MONO - g_string_append(str, " Mono: Enabled
    "); + g_string_append(str, "
    Mono:
    Enabled
    "); #else - g_string_append(str, " Mono: Disabled
    "); + g_string_append(str, "
    Mono:
    Disabled
    "); #endif #endif #ifndef _WIN32 #ifdef HAVE_NETWORKMANAGER - g_string_append(str, " NetworkManager: Enabled
    "); + g_string_append(str, "
    NetworkManager:
    Enabled
    "); #else - g_string_append(str, " NetworkManager: Disabled
    "); + g_string_append(str, "
    NetworkManager:
    Disabled
    "); #endif #endif #ifdef HAVE_NSS - g_string_append(str, " Network Security Services (NSS): Enabled
    "); + g_string_append(str, "
    Network Security Services (NSS):
    Enabled
    "); #else - g_string_append(str, " Network Security Services (NSS): Disabled
    "); + g_string_append(str, "
    Network Security Services (NSS):
    Disabled
    "); #endif -if (purple_plugins_find_with_id("core-perl") != NULL) - g_string_append(str, " Perl: Enabled
    "); -else - g_string_append(str, " Perl: Disabled
    "); + if (purple_plugins_find_with_id("core-perl") != NULL) + g_string_append(str, "
    Perl:
    Enabled
    "); + else + g_string_append(str, "
    Perl:
    Disabled
    "); -if (purple_plugins_find_with_id("core-tcl") != NULL) { - g_string_append(str, " Tcl: Enabled
    "); + if (purple_plugins_find_with_id("core-tcl") != NULL) { + g_string_append(str, "
    Tcl:
    Enabled
    "); #ifdef HAVE_TK - g_string_append(str, " Tk: Enabled
    "); + g_string_append(str, "
    Tk:
    Enabled
    "); #else - g_string_append(str, " Tk: Disabled
    "); + g_string_append(str, "
    Tk:
    Disabled
    "); #endif -} else { - g_string_append(str, " Tcl: Disabled
    "); - g_string_append(str, " Tk: Disabled
    "); -} + } else { + g_string_append(str, "
    Tcl:
    Disabled
    "); + g_string_append(str, "
    Tk:
    Disabled
    "); + } #ifdef USE_IDN - g_string_append(str, " UTF-8 DNS (IDN): Enabled
    "); + g_string_append(str, "
    UTF-8 DNS (IDN):
    Enabled
    "); #else - g_string_append(str, " UTF-8 DNS (IDN): Disabled
    "); + g_string_append(str, "
    UTF-8 DNS (IDN):
    Disabled
    "); #endif #ifdef USE_VV - g_string_append(str, " Voice and Video: Enabled
    "); + g_string_append(str, "
    Voice and Video:
    Enabled
    "); #else - g_string_append(str, " Voice and Video: Disabled
    "); + g_string_append(str, "
    Voice and Video:
    Disabled
    "); #endif #ifndef _WIN32 #ifdef USE_SM - g_string_append(str, " X Session Management: Enabled
    "); + g_string_append(str, "
    X Session Management:
    Enabled
    "); #else - g_string_append(str, " X Session Management: Disabled
    "); + g_string_append(str, "
    X Session Management:
    Disabled
    "); #endif #ifdef USE_SCREENSAVER - g_string_append(str, " XScreenSaver: Enabled
    "); + g_string_append(str, "
    XScreenSaver:
    Enabled
    "); #else - g_string_append(str, " XScreenSaver: Disabled
    "); + g_string_append(str, "
    XScreenSaver:
    Disabled
    "); #endif #ifdef LIBZEPHYR_EXT - g_string_append(str, " Zephyr library (libzephyr): External
    "); + g_string_append(str, "
    Zephyr library (libzephyr):
    External
    "); #else - g_string_append(str, " Zephyr library (libzephyr): Internal
    "); + g_string_append(str, "
    Zephyr library (libzephyr):
    Internal
    "); #endif #ifdef ZEPHYR_USES_KERBEROS - g_string_append(str, " Zephyr uses Kerberos: Yes
    "); + g_string_append(str, "
    Zephyr uses Kerberos:
    Yes
    "); #else - g_string_append(str, " Zephyr uses Kerberos: No
    "); + g_string_append(str, "
    Zephyr uses Kerberos:
    No
    "); #endif #endif + g_string_append(str, "
    "); + /* 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, "%s:
    ", + g_string_append_printf(str, "

    %s

    "); /* Crazy Patch Writers */ - g_string_append_printf(str, "%s:
    ", + g_string_append_printf(str, "

    %s

    "); /* Retired Developers */ - g_string_append_printf(str, "%s:
    ", + g_string_append_printf(str, "

    %s

    "); /* Retired Crazy Patch Writers */ - g_string_append_printf(str, "%s:
    ", + g_string_append_printf(str, "

    %s

    "); 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, "%s:
    ", + g_string_append_printf(str, "

    %s

    ", _("Current Translators")); add_translators(str, translators); - g_string_append(str, "
    "); + g_string_append(str, "
    "); /* Past Translators */ - g_string_append_printf(str, "%s:
    ", + g_string_append_printf(str, "

    %s

    ", _("Past Translators")); add_translators(str, past_translators); + g_string_append(str, "
    "); 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, "%s
    ", - _("Plugin Information")); + g_string_append_printf(str, "

    %s

    ", _("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, - "%s
    " - "\tAuthor: %s
    \tVersion: %s
    " - "\tWebsite: %s
    \tID String: %s
    " - "\tLoadable: %s
    \tLoaded: %s
    " - "
    ", pname, pauthor ? pauthor : "(null)", + "
    %s
    " + "Author: %s
    " + "Version: %s
    " + "Website: %s
    " + "ID String: %s
    " + "Loadable: %s
    " + "Loaded: %s" + "

    ", + pname, pauthor ? pauthor : "(null)", pver, pwebsite, pid, - punloadable ? "No" : "Yes", + punloadable ? "No" : "Yes", ploaded ? "Yes" : "No"); + + g_free(pname); + g_free(pauthor); } + g_string_append(str, "
    "); + 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 diff -r cebed34f92eb -r f9650f6b636d pidgin/gtkprefs.c --- 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), _("Browser configuration program was not found.")); 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); diff -r cebed34f92eb -r f9650f6b636d pidgin/gtkwebview.c --- 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); }