summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrbuj <[email protected]>2019-02-17 22:20:08 +0100
committerraveit65 <[email protected]>2019-02-18 16:41:43 +0100
commiteed55110772fb38b5ba7c148e0c277401c96e9b6 (patch)
treed5c3ec9b218bcff43399db2a98dafc563679df8e
parent17ca341d779af46fce37370bbbc2c8e2822993a6 (diff)
downloadeom-eed55110772fb38b5ba7c148e0c277401c96e9b6.tar.bz2
eom-eed55110772fb38b5ba7c148e0c277401c96e9b6.tar.xz
Read authors (updated) and documenters (updated) from eom.about gresource
-rw-r--r--data/Makefile.am1
-rw-r--r--data/eom.about3
-rw-r--r--src/eom-window.c68
-rw-r--r--src/eom.gresource.xml1
4 files changed, 38 insertions, 35 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index 8f092f1..99711a3 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -35,6 +35,7 @@ EXTRA_DIST = \
eom-preferences-dialog.ui \
eom-ui.xml \
metadata-sidebar.ui \
+ eom.about \
$(DESKTOP_IN_FILES) \
$(appdata_in_files)
diff --git a/data/eom.about b/data/eom.about
new file mode 100644
index 0000000..1229c84
--- /dev/null
+++ b/data/eom.about
@@ -0,0 +1,3 @@
+[About]
+Authors=Akshay Gupta <kitallis%gmail.com>;Alexander Pyhalov <apyhalov%gmail.com>;Alexandre Rostovtsev <tetromino%gentoo.org>;Alexei Sorokin <sor.alexei%meowr.ru>;Arik Devens <arik%gnome.org>;Björn Weber <bjoern.weber94%t-online.de>;Boris Egorov <egorov%linux.com>;Claudio Saavedra <csaavedra%igalia.com>;Debarshi Ray <debarshir%gnome.org>;Elias Aebi <user142%hotmail.com>;Emmanuel Pacaud <emmanuel%gnome.org>;Federico Mena-Quintero <federico%gnu.org>;Felix Riemann <friemann%gnome.org>;Adam Erdman <hekel%archlinux.info>;Javier Sánchez <jsanchez%deskblue.com>;Jens Finke <jens%triq.net>;Laszlo Boros <iamsemmu%gmail.com>;Lucas Rocha <lucasr%gnome.org>;Lutz Mxc3xbcller <urc8%rz.uni-karlsruhe.de>;Marcel Dijkstra <marcel.dykstra%gmail.com>;Martin Baulig <martin%home-of-linux.org>;Martin Wimpress <martin%mate-desktop.org>;Michael Meeks <mmeeks%gnu.org>;Mike Gabriel <mike.gabriel%das-netzwerkteam.de>;Pablo Barciela <scow%riseup.net>;Paolo Borelli <pborelli%katamail.com>;Perberos <perberos%gmail.com>;Philip Van Hoof <pvanhoof%gnome.org>;Piotr Drąg <piotrdrag%gmail.com>;Russell Haley <yumpusamongus%gmail.com>;Scott Balneaves <sbalneav%mate-desktop.org>;Sorokin Alexei <sor.alexei%meowr.ru>;Steev Klimaszewski <steev%gentoo.org>;Stefano Karapetsas <stefano%karapetsas.com>;Steve Zesch <stevezesch2%gmail.com>;Tim Gerla <tim+matebugs%gerla.net>;Timm Bäder <mail%baedert.org>;Trinh Anh Ngoc <atw1990%gmail.com>;Victor Kareh <vkareh%vkareh.net>;Vlad Orlov <monsta%inbox.ru>;Wolfgang Ulbrich <mate%raveit.de>;Wu Xiaotian <yetist%gmail.com>;Yaakov Selkowitz <yselkowitz%users.sourceforge.net>;ZenWalker <scow%riseup.net>;
+Documenters=Eliot Landrum <eliot%landrum.cx>;Federico Mena-Quintero <federico%gnu.org>;Sun Microsystems;MATE Documentation Team;
diff --git a/src/eom-window.c b/src/eom-window.c
index bc5ca59..7b748c8 100644
--- a/src/eom-window.c
+++ b/src/eom-window.c
@@ -2519,6 +2519,9 @@ eom_window_cmd_help (GtkAction *action, gpointer user_data)
eom_util_show_help (NULL, GTK_WINDOW (window));
}
+#define ABOUT_GROUP "About"
+#define EMAILIFY(string) (g_strdelimit ((string), "%", '@'))
+
static void
eom_window_cmd_about (GtkAction *action, gpointer user_data)
{
@@ -2526,38 +2529,6 @@ eom_window_cmd_about (GtkAction *action, gpointer user_data)
g_return_if_fail (EOM_IS_WINDOW (user_data));
- static const char *authors[] = {
- "Perberos <[email protected]>",
- "Steve Zesch <[email protected]>",
- "Stefano Karapetsas <[email protected]>",
- "",
- "Claudio Saavedra <[email protected]alia.com> (maintainer)",
- "Felix Riemann <[email protected]> (maintainer)",
- "",
- "Lucas Rocha <[email protected]>",
- "Tim Gerla <[email protected]>",
- "Philip Van Hoof <[email protected]>",
- "Paolo Borelli <[email protected]>",
- "Jens Finke <[email protected]>",
- "Martin Baulig <[email protected]>",
- "Arik Devens <[email protected]>",
- "Michael Meeks <[email protected]>",
- "Federico Mena-Quintero <[email protected]>",
- "Lutz M\xc3\xbcller <[email protected]>",
- NULL
- };
-
- static const char *documenters[] = {
- "Eliot Landrum <[email protected]>",
- "Federico Mena-Quintero <[email protected]>",
- "Sun GNOME Documentation Team <[email protected]>",
- NULL
- };
-
- const char *translators;
-
- translators = _("translator-credits");
-
const char *license[] = {
N_("This program is free software; you can redistribute it and/or modify "
"it under the terms of the GNU General Public License as published by "
@@ -2573,9 +2544,34 @@ eom_window_cmd_about (GtkAction *action, gpointer user_data)
};
char *license_trans;
+ GKeyFile *key_file;
+ GBytes *bytes;
+ const guint8 *data;
+ gsize data_len;
+ GError *error = NULL;
+ char **authors, **documenters;
+ gsize n_authors = 0, n_documenters = 0 , i;
+
+ bytes = g_resources_lookup_data ("/org/mate/eom/ui/eom.about", G_RESOURCE_LOOKUP_FLAGS_NONE, &error);
+ g_assert_no_error (error);
+
+ data = g_bytes_get_data (bytes, &data_len);
+ key_file = g_key_file_new ();
+ g_key_file_load_from_data (key_file, (const char *) data, data_len, 0, &error);
+ g_assert_no_error (error);
+
+ 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);
+ g_bytes_unref (bytes);
+
+ 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_strconcat (_(license[0]), "\n", _(license[1]), "\n",
- _(license[2]), "\n", NULL);
+ license_trans = g_strconcat (_(license[0]), "\n", _(license[1]), "\n", _(license[2]), "\n", NULL);
window = EOM_WINDOW (user_data);
@@ -2589,13 +2585,15 @@ eom_window_cmd_about (GtkAction *action, gpointer user_data)
"comments",_("The MATE image viewer."),
"authors", authors,
"documenters", documenters,
- "translator-credits", translators,
+ "translator-credits", _("translator-credits"),
"website", "http://www.mate-desktop.org/",
"logo-icon-name", "eom",
"wrap-license", TRUE,
"license", license_trans,
NULL);
+ g_strfreev (authors);
+ g_strfreev (documenters);
g_free (license_trans);
}
diff --git a/src/eom.gresource.xml b/src/eom.gresource.xml
index 1904e8c..f06d5c7 100644
--- a/src/eom.gresource.xml
+++ b/src/eom.gresource.xml
@@ -7,6 +7,7 @@
<file compressed="true" preprocess="xml-stripblanks">eom-preferences-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks">eom-ui.xml</file>
<file compressed="true" preprocess="xml-stripblanks">metadata-sidebar.ui</file>
+ <file compressed="true">eom.about</file>
<file>pixmaps/thumbnail-frame.png</file>
</gresource>
</gresources>