summaryrefslogtreecommitdiff
path: root/src/caja-window-menus.c
diff options
context:
space:
mode:
authorrbuj <[email protected]>2019-02-17 15:38:23 +0100
committerraveit65 <[email protected]>2019-02-18 08:23:30 +0100
commit53791817d5609e3b7e1631219c9ee9cd1d485cf6 (patch)
tree33cd6e52ffee06afaa6ac871b32e483d54ccd3f1 /src/caja-window-menus.c
parentf5e08dd157d6a092fe6c779b9212343928dc743d (diff)
downloadcaja-53791817d5609e3b7e1631219c9ee9cd1d485cf6.tar.bz2
caja-53791817d5609e3b7e1631219c9ee9cd1d485cf6.tar.xz
Read authors and documenters fom caja.about file
Diffstat (limited to 'src/caja-window-menus.c')
-rw-r--r--src/caja-window-menus.c137
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);
}