diff options
Diffstat (limited to 'src/caja-window-menus.c')
-rw-r--r-- | src/caja-window-menus.c | 137 |
1 files changed, 28 insertions, 109 deletions
diff --git a/src/caja-window-menus.c b/src/caja-window-menus.c index d67fc2a1..b82059fd 100644 --- a/src/caja-window-menus.c +++ b/src/caja-window-menus.c @@ -506,113 +506,13 @@ action_backgrounds_and_emblems_callback (GtkAction *action, caja_property_browser_show (gtk_window_get_screen (window)); } +#define ABOUT_GROUP "About" +#define EMAILIFY(string) (g_strdelimit ((string), "%", '@')) + static void action_about_caja_callback (GtkAction *action, gpointer user_data) { - const gchar *authors[] = - { - "Adam Erdman <[email protected]>", - "Alexander Larsson", - "Alexander van der Meij <[email protected]>", - "Alexandru Pandelea <[email protected]>", - "Alexei Sorokin <[email protected]>", - "Ali Abdin", - "Anders Carlsson", - "Andrea Azzarone <[email protected]>", - "Andy Hertzfeld", - "Arlo Rose", - "Balló György <[email protected]>", - "Benjamin Valentin <[email protected]>", - "Boris Egorov <[email protected]>", - "Brent Hull <[email protected]>", - "Chen Donghai <[email protected]>", - "Clement Lefebvre <[email protected]>", - "Clément Masci", - "Colomban Wendling <[email protected]>", - "Cosimo Cecchi <[email protected]>", - "Dan Bravender <[email protected]>", - "Darin Adler", - "David Camp", - "E.S. Quinn <[email protected]>", - "Elan Ruusamäe <[email protected]>", - "Eli Goldberg", - "Elias Aebi <[email protected]>", - "Elliot Lee", - "Eskil Heyn Olsen", - "Ettore Perazzoli", - "Felipe Barriga Richards <[email protected]>", - "Franco Tortoriello <[email protected]>", - "Galik <[email protected]>", - "Gene Z. Ragan", - "George Lebl", - "Ian McKellar", - "Ikey Doherty <[email protected]>", - "J Shane Culpepper", - "James Willcox", - "Jan Arne Petersen", - "Jan Niklas Hasse <[email protected]>", - "Jasmine Hassan <[email protected]>", - "Joanmarie Diggs <[email protected]>", - "John Harper", - "John Sullivan", - "Josh Barrow", - "Jury Verrigni <[email protected]>", - "Lars R. Damerow <[email protected]>", - "Laszlo Boros <[email protected]>", - "Lionel Landwerlin <[email protected]>", - "Luke Yelavich <[email protected]>", - "Maciej Stachowiak", - "Marcel Dijkstra <[email protected]>", - "Mark McLoughlin", - "Martin Matuska <[email protected]>", - "Martin Pieuchot <[email protected]>", - "Martin Wimpress <[email protected]>", - "Mathieu Lacage", - "Max Eliaser <[email protected]>", - "Michael Catanzaro <[email protected]>", - "Mike Engber", - "Mike Fleming", - "Mike Gabriel <[email protected]>", - "Moritz Bruder <[email protected]>", - "Nelson Marques <[email protected]>", - "Obata Akio <[email protected]>", - "Pablo Barciela <[email protected]>", - "Pavel Cisler", - "Perberos <[email protected]>", - "Phillip Susi <[email protected]>", - "Piotr Drąg <[email protected]>", - "Ramiro Estrugo", - "Raph Levien", - "Rebecca Schulman", - "Robey Pointer", - "Robin * Slomkowski", - "Samuel Thibault <[email protected]>", - "Sander Sweers <[email protected]>", - "Sargastic <[email protected]>", - "Scott Balneaves <[email protected]>", - "Seth Nickell", - "Stefano Karapetsas <[email protected]>", - "Steve Zesch <[email protected]>", - "Susan Kare", - "Tomas Bzatek <[email protected]>", - "Victor Kareh <[email protected]>", - "Vlad Orlov <[email protected]>", - "Wolfgang Ulbrich <[email protected]>", - "Wu Xiaotian <[email protected]>", - "Yaakov Selkowitz <[email protected]>", - "Zhang Xianwei <[email protected]>", - "张雯 <[email protected]>", - "高群凯 <[email protected]>", - NULL - }; - const gchar *documenters[] = - { - "MATE Documentation Team", - "GNOME Documentation Team", - "Sun Microsystems", - NULL - }; const gchar *license[] = { N_("Caja is free software; you can redistribute it and/or modify " @@ -628,9 +528,30 @@ action_about_caja_callback (GtkAction *action, "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA") }; gchar *license_trans; + GKeyFile *key_file; + GError *error = NULL; + char **authors, **documenters; + gsize n_authors = 0, n_documenters = 0 , i; + + key_file = g_key_file_new (); + if (!g_key_file_load_from_file (key_file, CAJA_DATADIR G_DIR_SEPARATOR_S "caja.about", 0, &error)) + { + g_warning ("Couldn't load about data: %s\n", error->message); + g_error_free (error); + g_key_file_free (key_file); + return; + } + + authors = g_key_file_get_string_list (key_file, ABOUT_GROUP, "Authors", &n_authors, NULL); + documenters = g_key_file_get_string_list (key_file, ABOUT_GROUP, "Documenters", &n_documenters, NULL); + g_key_file_free (key_file); + + for (i = 0; i < n_authors; ++i) + authors[i] = EMAILIFY (authors[i]); + for (i = 0; i < n_documenters; ++i) + documenters[i] = EMAILIFY (documenters[i]); - license_trans = g_strjoin ("\n\n", _(license[0]), _(license[1]), - _(license[2]), NULL); + license_trans = g_strjoin ("\n\n", _(license[0]), _(license[1]), _(license[2]), NULL); gtk_show_about_dialog (GTK_WINDOW (user_data), "program-name", _("Caja"), @@ -645,16 +566,14 @@ action_about_caja_callback (GtkAction *action, "wrap-license", TRUE, "authors", authors, "documenters", documenters, - /* Translators should localize the following string - * which will be displayed at the bottom of the about - * box to give credit to the translator(s). - */ "translator-credits", _("translator-credits"), "logo-icon-name", "system-file-manager", "website", "http://www.mate-desktop.org", "website-label", _("MATE Web Site"), NULL); + g_strfreev (authors); + g_strfreev (documenters); g_free (license_trans); } |