[easytag] Replace about dialog with GtkAboutDialog



commit 4737dfea60fd79e10e8bd4cba44bcbce7c351931
Author: David King <amigadave amigadave com>
Date:   Sat Dec 1 22:06:34 2012 +0000

    Replace about dialog with GtkAboutDialog
    
    Fix translatable strings in about dialog by replacing the dialog with a
    stock GtkAboutDialog and updating the source strings. Distribute a PNG
    icon and install it to the hicolor themed icon path.

 AUTHORS             |  184 ++-------------
 Makefile.am         |   24 ++-
 THANKS              |  159 ++++++++++++
 configure.ac        |    2 +-
 easytag.desktop.in  |    2 +-
 pixmaps/easytag.png |  Bin 0 -> 5182 bytes
 src/about.c         |  664 +++++++--------------------------------------------
 7 files changed, 291 insertions(+), 744 deletions(-)
---
diff --git a/AUTHORS b/AUTHORS
index 6c686a7..3f70d73 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,110 +1,42 @@
-David King <amigadave amigadave com>:
-  - GTK+ 3 port
-
-Bastian Kleineidam <calvin cs uni-sb de>:
-  - German translation
-
-Andrew Shuvalov <andrew metaphoria net>:
-  - suggestions
-
-Sergey Zhumatiy <serg parallel ru>:
-  - suggestion (support of character translation)
-  - Russian translation
+Please also see THANKS for non-code contributions
 
-Kevin Venkiteswaran <kevin v Binary-Design com>:
-  - bug reports
+David King <amigadave amigadave com>
+  - GTK+ 3 port
+  - Co-maintainer
 
-Sheikholeslami Navid <shnavid cyberbeat it>:
-  - bug reports
+Kip Warner <kip thevertigo com>
+  - Co-maintainer
 
-Marcus Tegel <tegel mpg3 de>:
-  - suggestions
-  - bug reports
+Santtu Lakkala <inzane ircing org>
+  - patches / DLM support
+  - Initial GTK+ 3 port
 
-Robert <info aim nf ca>:
-  - suggestions
+JÃrÃme Couderc <easytag gmail com>
+  - Maintainer 2000-2008
 
-Lars Bohn <lars bohn web de>:
-  - suggestions
-  - bug reports
+Daniel Drake <dsd gentoo org>
+  - Full GTK 2.4 port!
 
-Vincent van Adrighem <V vanAdrighem ITS TUDelft nl>:
-  - Dutch translation
+Mihael Vrbanec <miqster gmx net>
+  - Initial GTK2 porting work (for EasyTAG 0.28.1)
 
-Patrik Israelsson <fix linux nu>:
-  - suggestions
-  - Swedish translation
+Michael Pujos <pujos michael laposte net>
+  - Port of EasyTAG 1.99.9 to Win32
 
 Adrian Bunk <bunk fs tum de>:
   - Debian packager
   - German translation
 
-Alexander D Harkness <alexander harkness co uk>
-  - suggestion (support of Ogg Vorvis files)
-
-Vaclav Slavik <v slavik volny cz>:
-  - bug reports
-
-Charles Kerr <charles superimp org>:
-  - patch to add a new button to sequence the track numbers
-
-Gian <giiiii libero it>
-  - suggestions
-
-Thomas Zajic <zlatko gmx at>
-  - suggestions
-
-Szel Miklos <mukka freemail hu>
-  - Hungarian translation
-  - suggestions
-
-Tore Aursand <tore extend no>
-  - suggestions
-
-Cappelletti Lorenzo <l cappelletti mail com>
-  - bug reports
-  - suggestions
-  - Italian translation
-
-Colin Marquardt <colin marquardt-home de>
-  - a lot of wordind fixes, spelling mistakes fixes
-  - German translation
-
-Takeshi Aihana <aihana gnome gr jp>
-  - Japanese translation
-
-Andrey Astafiev <andrei tvcell ru>
-  - Russian translation
-
 Goetz Waschk <waschk informatik uni-rostock de>
   - autoconf/automake
   - a lot of patches
   - German translation
 
-Olexander Kunytsa <kunia istc kiev ua>
-  - Ukrainian translation
-
-Cawko Xakep <xakep snark ukma kiev ua>
-  - Ukrainian translation
-
-Philipp Thomas <pthomas suse de>
-  - German translation
-
 Holger Schemel <aeglos valinor owl de>
   - patch to fix tag priority problem with id3lib
 
-BjÃrn Olievier <bjorn olievier advalvas be>:
-  - Dutch translation
-  - bug reports
-
-Milan Siebenburger <milan siebenburger ais cz>:
-  - Czech translation
-
-Jaime Serrano Cartagena <jaiserca inf upv es>:
-  - Spanish translation
-
-Colin Macdonald <cbm cs sfu ca>
-  - spelling mistakes fixes
+Charles Kerr <charles superimp org>:
+  - patch to add a new button to sequence the track numbers
 
 Maciej Kasprzyk <kasprzol go2 pl>
   - Polish translation
@@ -113,17 +45,9 @@ Maciej Kasprzyk <kasprzol go2 pl>
 Artur Polaczynski <artii o2 pl>
   - patch and text corrections
 
-Nagy Boldizsar <boldi01 freemail hu>
-  - Hungarian translation
-
-Pauliuc George <pauliuc gmx net>
-  - Romanian translation
-
-Daniel Pichler <dpichler dnet it>
-  - German help documentation
-
 Philipp Thomas <pthomas suse de>
   - patches and cleaning for 64bit platform
+  - German translation
 
 Oliver <oliver are-b org>
   - some new feature (in playlist, CRC32)
@@ -132,49 +56,15 @@ Tony Mancill <tony mancill com>:
   - Debian packager
   - patches
 
-Costantino Ceoldo
-  - Italian translation <ciclope10ATalice.it>
-
 Pavel Minayev <thalion front ru>
   - FLAC vorbis tag support
 
-Mihael Vrbanec <miqster gmx net>
-  - Initial GTK2 porting work (for EasyTAG 0.28.1)
-
-Daniel Drake <dsd gentoo org>
-  - Full GTK 2.4 port!
-
-Morten Brix Pedersen <morten wtf dk>
-  - Danish translation
-
-Santtu Lakkala <inzane ircing org>
-  - patches / DLM support
-  - Initial GTK+ 3 port
-
 Justus Schwartz <justus gmx li>
   - Cddb request from selected files
 
 Fredrik Noring <noring nocrew org>
   - pictures for ID3v2 tags
 
-Fernando M. Bueno Moreno <fernantre yahoo es>
-  - Spanish translation
-
-Guilherme Destefani <gd helixbrasil com br>
-  - Rename directories with scanner
-
-Zbynek Mrkvicka <zbynek oachot cz>
-  - Czech translation
-
-Apollon Oikonomopoulos <apoikos mail ntua gr>
-  - Greek translation
-
-Francisco Javier F. Serrador <serrador cvs gnome org>
-  - Spanish translation
-
-doutor.zero <doutor zero gmail com>
-  - Brazilian Portuguese translation
-
 Paul Giordano <giordano covad net>
   - patch to fix hangs on cddb lookups
 
@@ -184,9 +74,6 @@ Michael Ihde <mike ihde randomwalking com>
 Stewart Whitman <swhitman cox net>
   - MP4/AAC support
 
-Luchezar P. Petkov <luchezar petkov gmail com>
-  - Bulgarian translation
-
 Javier Kohen <jkohen users sourceforge net>
   - Support of Unicode in MP3 tag with id3lib
 
@@ -194,15 +81,6 @@ Alexey Illarionov <littlesavage rambler ru>
   - Support of Unicode in MP3 tag with id3lib
   - Support of ID3v2.4 tags with libid3tag
 
-Michael Pujos <pujos michael laposte net>
-  - Port of EasyTAG 1.99.9 to Win32
-
-Der Humph <humph gmx de>
-  - New icon
-
-Emmanuel Brun <brunema wanadoo fr>
-  - French USERS GUIDE
-
 FutureFog <futurefog katamail com>
   - Wrote EasyTAG.Win32.Setup.iss script
 
@@ -212,24 +90,6 @@ Maarten Maathuis <madman2003 gmail com>
 Pierre Dumuid <pierre dumuid adelaide edu au>
   - Support of Speex files
 
-Yuval Hager <yuval avramzon net>
-  - Hebrew translation
-
-Yang Jinsong <shannleon gmail com>
- - Chinese transalation
-
-Anders StrÃmer <anders stromer comhem se>
-  - Swedich documentation
-
-MiloÅ PopoviÄ <gpopac gmail com>
-  - Serbian translation
-
-Jose Sun <josesun gmail com>
- - Chinese (Taiwan) transalation
-
-Arild Matsson <arild niddler se>
- - Swedish translation
-
 Nick Lanham <nick afternight org>
  - Compilation against newest version of libmp4v2
 
@@ -242,5 +102,5 @@ Julian Taylor <jtaylor ubuntu com>
 Honore Doktorr <hdfssk gmail com>
     - Revised libmp4v2 patch
 
-My thanks to all :)
-    Jerome
+Guilherme Destefani <gd helixbrasil com br>
+  - Rename directories with scanner
diff --git a/Makefile.am b/Makefile.am
index d5825d8..ca1374a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -160,10 +160,26 @@ pixmapdir = $(pkgdatadir)
 dist_pixmap_DATA = \
 	pixmaps/EasyTAG_logo.xpm
 
-icondir = $(datadir)/pixmaps
-dist_icon_DATA = \
-	pixmaps/EasyTAG_icon.xpm
+iconthemedir = $(datadir)/icons/hicolor
 
+appicondir = $(iconthemedir)/64x64/apps
+dist_appicon_DATA = \
+	pixmaps/easytag.png
+
+UPDATE_ICON_CACHE = gtk-update-icon-cache --ignore-theme-index --force
+
+install-data-hook: install-update-icon-cache
+uninstall-hook: uninstall-update-icon-cache
+
+install-update-icon-cache:
+	$(AM_V_at)$(POST_INSTALL)
+	test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)"
+
+uninstall-update-icon-cache:
+	$(AM_V_at)$(POST_UNINSTALL)
+	test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)"
+dist_doc_DATA = \
+	THANKS
 
 dist_noinst_DATA = \
 	$(desktop_in_files) \
@@ -273,7 +289,7 @@ dist_noinst_DATA = \
 	doc/vorbis/white-ogg.png
 
 dist_noinst_SCRIPTS = \
-    autogen.sh
+	autogen.sh
 
 CLEANFILES = \
 	$(desktop_DATA)
diff --git a/THANKS b/THANKS
new file mode 100644
index 0000000..7a06f89
--- /dev/null
+++ b/THANKS
@@ -0,0 +1,159 @@
+General
+-------
+
+Sergey Zhumatiy <serg parallel ru>
+  - suggestion (support of character translation)
+  - Russian translation
+
+Andrew Shuvalov <andrew metaphoria net>:
+  - suggestions
+
+Kevin Venkiteswaran <kevin v Binary-Design com>:
+  - bug reports
+
+Sheikholeslami Navid <shnavid cyberbeat it>:
+  - bug reports
+
+Marcus Tegel <tegel mpg3 de>:
+  - suggestions
+  - bug reports
+
+Robert <info aim nf ca>:
+  - suggestions
+
+Lars Bohn <lars bohn web de>:
+  - suggestions
+  - bug reports
+
+Patrik Israelsson <fix linux nu>:
+  - suggestions
+  - Swedish translation
+
+Alexander D Harkness <alexander harkness co uk>
+  - suggestion (support of OGG Vorbis files)
+
+Vaclav Slavik <v slavik volny cz>:
+  - bug reports
+
+Gian <giiiii libero it>
+  - suggestions
+
+Thomas Zajic <zlatko gmx at>
+  - suggestions
+
+Szel Miklos <mukka freemail hu>
+  - Hungarian translation
+  - suggestions
+
+Tore Aursand <tore extend no>
+  - suggestions
+
+Cappelletti Lorenzo <l cappelletti mail com>
+  - bug reports
+  - suggestions
+  - Italian translation
+
+Colin Marquardt <colin marquardt-home de>
+  - a lot of wordind fixes, spelling mistakes fixes
+  - German translation
+
+BjÃrn Olievier <bjorn olievier advalvas be>:
+  - Dutch translation
+  - bug reports
+
+Colin Macdonald <cbm cs sfu ca>
+  - spelling mistakes fixes
+
+Translations
+------------
+
+Bastian Kleineidam <calvin cs uni-sb de>:
+  - German translation
+
+Vincent van Adrighem <V vanAdrighem ITS TUDelft nl>:
+  - Dutch translation
+
+Takeshi Aihana <aihana gnome gr jp>
+  - Japanese translation
+
+Andrey Astafiev <andrei tvcell ru>
+  - Russian translation
+
+Olexander Kunytsa <kunia istc kiev ua>
+  - Ukrainian translation
+
+Cawko Xakep <xakep snark ukma kiev ua>
+  - Ukrainian translation
+
+Milan Siebenburger <milan siebenburger ais cz>:
+  - Czech translation
+
+Jaime Serrano Cartagena <jaiserca inf upv es>:
+  - Spanish translation
+
+Nagy Boldizsar <boldi01 freemail hu>
+  - Hungarian translation
+
+Pauliuc George <pauliuc gmx net>
+  - Romanian translation
+
+Costantino Ceoldo
+  - Italian translation <ciclope10ATalice.it>
+
+Morten Brix Pedersen <morten wtf dk>
+  - Danish translation
+
+Fernando M. Bueno Moreno <fernantre yahoo es>
+  - Spanish translation
+
+Zbynek Mrkvicka <zbynek oachot cz>
+  - Czech translation
+
+Apollon Oikonomopoulos <apoikos mail ntua gr>
+  - Greek translation
+
+Francisco Javier F. Serrador <serrador cvs gnome org>
+  - Spanish translation
+
+doutor.zero <doutor zero gmail com>
+  - Brazilian Portuguese translation
+
+Luchezar P. Petkov <luchezar petkov gmail com>
+  - Bulgarian translation
+
+Yuval Hager <yuval avramzon net>
+  - Hebrew translation
+
+Yang Jinsong <shannleon gmail com>
+ - Chinese transalation
+
+MiloÅ PopoviÄ <gpopac gmail com>
+  - Serbian translation
+
+Jose Sun <josesun gmail com>
+ - Chinese (Taiwan) transalation
+
+Arild Matsson <arild niddler se>
+ - Swedish translation
+
+Artists
+-------
+
+Der Humph <humph gmx de>
+  - New icon
+
+Documenters
+-----------
+
+Emmanuel Brun <brunema wanadoo fr>
+  - French USERS GUIDE
+
+Daniel Pichler <dpichler dnet it>
+  - German help documentation
+
+Anders StrÃmer <anders stromer comhem se>
+  - Swedich documentation
+
+
+My thanks to all :)
+    JÃrÃme
diff --git a/configure.ac b/configure.ac
index 86289a9..9c53020 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ AC_PREREQ([2.64])
 
 dnl To set also in config.h.mingw
 dnl defines ($PACKAGE_NAME, $PACKAGE_VERSION, etc.)
-AC_INIT([EasyTAG], [2.1.8], [easytag-mailing lists sourceforge net], [easytag], [http://easytag.sourceforge.net/])
+AC_INIT([EasyTAG], [2.1.8], [https://bugzilla.gnome.org/enter_bug.cgi?product=easytag], [easytag], [http://projects.gnome.org/easytag/])
 
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
diff --git a/easytag.desktop.in b/easytag.desktop.in
index 4a258be..a52f2ef 100644
--- a/easytag.desktop.in
+++ b/easytag.desktop.in
@@ -4,7 +4,7 @@ _GenericName=Sound File Metadata Editor
 _Comment=Edit sound file metadata
 _Keywords=mp3;tag;audio;
 Type=Application
-Icon=EasyTAG_icon
+Icon=easytag
 Categories=GTK;AudioVideo;AudioVideoEditing;
 MimeType=x-directory/normal;inode/directory;audio/x-mp3;audio/x-mpeg;audio/mpeg;application/ogg;audio/x-vorbis+ogg;audio/x-flac;audio/x-musepack;audio/x-ape;
 Exec=easytag %F
diff --git a/pixmaps/easytag.png b/pixmaps/easytag.png
new file mode 100644
index 0000000..352001c
Binary files /dev/null and b/pixmaps/easytag.png differ
diff --git a/src/about.c b/src/about.c
index 3ea4c5e..b0f594f 100644
--- a/src/about.c
+++ b/src/about.c
@@ -21,593 +21,105 @@
 #include "config.h"
 
 #include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
 #include <glib/gi18n-lib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h> // for 'system'
-#ifdef ENABLE_MP3
-#   include <id3tag.h>
-#   ifdef ENABLE_ID3LIB
-#   include <id3.h>
-#   endif
-#endif
-#ifdef ENABLE_FLAC
-#   include <FLAC/metadata.h>
-#endif
-#include <errno.h>
 
-#include "gtk2_compat.h"
 #include "about.h"
-#include "easytag.h"
-#include "misc.h"
-#include "log.h"
-#include "charset.h"
-
-#ifndef PACKAGE_DATA_DIR
-#   include "../pixmaps/EasyTAG_logo.xpm"
-#endif
-
-#ifdef WIN32
-#   include "win32/win32dep.h"
-#   include "win32/gtkwin32dep.h"
-#endif
-
-
-/****************
- * Declarations *
- ****************/
-static GtkWidget *AboutWindow = NULL;
-
-// Columns for features supported...
-enum
-{
-    // Columns for titles
-    EXTENSION_PIXBUF = 0,
-    EXTENSION_NAME,
-    EXTENSION_STATUT,
-    EXTENSION_COMMENT,
-
-    EXTENSION_COLUMN_COUNT
-};
-
-
-
-/**************
- * Prototypes *
- **************/
-void About_Window_Key_Press (GtkWidget *window, GdkEvent *event);
-void Quit_About_Window (void);
-void About_Window_Go_To_Home_Page (void);
-
-
-
-/*************
- * Functions *
- *************/
-/*
- * Close the window when the 'escape' key is pressed.
- */
-void About_Window_Key_Press (GtkWidget *window ATTRIBUTE_UNUSED, GdkEvent *event)
-{
-    GdkEventKey *kevent;
-
-    if (event && event->type == GDK_KEY_PRESS)
-    {
-        kevent = (GdkEventKey *)event;
-        switch(kevent->keyval)
-        {
-            case GDK_KEY_Escape:
-                Quit_About_Window();
-                break;
-        }
-    }
-}
-
-
-void Quit_About_Window (void)
-{
-    if (AboutWindow)
-    {
-        gtk_widget_destroy(AboutWindow);
-        AboutWindow = NULL;
-        /*gtk_widget_set_sensitive(MainWindow,TRUE);*/
-    }
-}
 
 void Show_About_Window (void)
 {
-    GtkWidget *AboutNoteBook;
-    GtkWidget *Label;
-    GtkWidget *Frame;
-    GtkWidget *VBox, *hbox;
-    GtkWidget *ScrollWindow;
-    GtkWidget *TextView;
-    GtkTextBuffer *TextBuffer;
-    GtkTextIter textIter;
-    GtkWidget *Button;
-    GtkWidget *Logo;
-    GdkPixbuf *pixbuf = NULL;
-    gchar  temp[MAX_STRING_LEN];
-    gchar *temp_str;
-    gint i;
-#ifdef PACKAGE_DATA_DIR
-    FILE *file;
-    gchar *tmp = NULL;
-#endif
-    gchar *description_text =
-            _(""
-            "    EasyTAG is an utility for viewing and editing tags for MP3, MP2, "
-            "FLAC, Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its "
-            "simple and nice GTK+ interface makes tagging easier under GNU/Linux."
-            "");
-
-    /* Translation contributions */
-    gchar *translations_thanks_text [][2]= {
-            {"    - Bastian Kleineidam ",           _("(German translation)")},
-            {"    - Adrian Bunk ",                  _("(German translation)")},
-            {"    - Colin Marquardt ",              _("(German translation)")},
-            {"    - Philipp Thomas ",               _("(German translation)")},
-            {"    - Sergey Zhumatiy ",              _("(Russian translation)")},
-            {"    - Andrey Astafiev ",              _("(Russian translation)")},
-            {"    - Vincent van Adrighem ",         _("(Dutch translation)")},
-            {"    - BjÃrn Olievier ",               _("(Dutch translation)")},
-            {"    - Patrik Israelsson ",            _("(Swedish translation)")},
-            {"    - Anders StrÃmer ",               _("(Swedish translation)")},
-            {"    - Arild Matsson ",                _("(Swedish translation)")},
-            {"    - Szel Miklos ",                  _("(Hungarian translation)")},
-            {"    - Nagy Boldizsar ",               _("(Hungarian translation)")},
-            {"    - MÃszÃros Csaba ",               _("(Hungarian translation)")},
-            {"    - Cappelletti Lorenzo ",          _("(Italian translation)")},
-            {"    - Costantino Ceoldo ",            _("(Italian translation)")},
-            {"    - Takeshi Aihana ",               _("(Japanese translation)")},
-            {"    - Olexander Kunytsa ",            _("(Ukrainian translation)")},
-            {"    - Cawko Xakep ",                  _("(Ukrainian translation)")},
-            {"    - Milan Siebenburger ",           _("(Czech translation)")},
-            {"    - Zbynek Mrkvicka ",              _("(Czech translation)")},
-            {"    - Jaime Serrano Cartagena ",      _("(Spanish translation)")},
-            {"    - Fernando M. Bueno Moreno ",     _("(Spanish translation)")},
-            {"    - Francisco Javier F. Serrador ", _("(Spanish translation)")},
-            {"    - Maciej Kasprzyk ",              _("(Polish translation)")},
-            {"    - Pauliuc George ",               _("(Romanian translation)")},
-            {"    - Morten Brix Pedersen ",         _("(Danish translation)")},
-            {"    - Apollon Oikonomopoulos ",       _("(Greek translation)")},
-            {"    - doutor zero ",                  _("(Brazilian Portuguese translation)")},
-            {"    - Luchezar P. Petkov ",           _("(Bulgarian translation)")},
-            {"    - Yang Jinsong ",                 _("(Chinese translation)")},
-            {"    - Jose Sun ",                     _("(Chinese (Taiwan) translation)")},
-            {"    - Yuval Hager ",                  _("(Hebrew translation)")},
-            {"    - MiloÅ PopoviÄ ",                _("(Serbian translation)")},
-            {"    - GÃtz Waschk ",                  _("(German translation)")},
-            {"    - Algimantas MargeviÄius ",       _("(Lithuanian translation)")},
-            {NULL,NULL}
-            };
-
-    /* General contributions */
-    gchar *general_thanks_text =
-            "    - David King (GTK+ 3 port)\n"
-            "    - Santtu Lakkala (GTK+ 3 port)\n"
-            "    - Daniel Drake (GTK+ 2 port)\n"
-            "    - Mihael Vrbanec (GTK+ 2 port)\n"
-            "    - Michael Pujos (Win32 port)\n"
-            "    - Andrew Shuvalov\n"
-            "    - Sergey Zhumatiy\n"
-            "    - Kevin Venkiteswaran\n"
-            "    - Sheikholeslami Navid\n"
-            "    - Marcus Tegel\n"
-            "    - Robert\n"
-            "    - Lars Bohn\n"
-            "    - Patrik Israelsson\n"
-            "    - Adrian Bunk\n"
-            "    - Alexander D Harkness\n"
-            "    - Vaclav Slavik\n"
-            "    - Charles Kerr\n"
-            "    - Gian\n"
-            "    - Thomas Zajic\n"
-            "    - Szel Miklos\n"
-            "    - Tore Aursand\n"
-            "    - Cappelletti Lorenzo\n"
-            "    - Colin Marquardt\n"
-            "    - Goetz Waschk\n"
-            "    - Holger Schemel\n"
-            "    - Artur Polaczynski\n"
-            "    - Maciej Kasprzyk\n"
-            "    - Daniel Pichler\n"
-            "    - Santtu Lakkala\n"
-            "    - Philipp Thomas\n"
-            "    - Tony Mancill\n"
-            "    - Pavel Minayev\n"
-            "    - Justus Schwartz\n"
-            "    - Fredrik Noring\n"
-            "    - Guilherme Destefani\n"
-            "    - Michael Ihde\n"
-            "    - Stewart Whitman\n"
-            "    - Javier Kohen\n"
-            "    - Alexey Illarionov\n"
-            "    - Der Humph\n"
-            "    - Emmanuel Brun\n"
-            "    - Maarten Maathuis\n"
-            "    - Pierre Dumuid\n"
-            "    - Kip Warner\n"
-            "    - Mark Ferry\n"
-            "    - Gaute Amundsen\n"
-            "    - Nick Lanham\n"
-            "    - Wojciech Wierchola\n"
-            "    - Julian Taylor";
-
-    GtkWidget *ExtensionList;
-    GtkListStore *ExtensionListModel;
-    GtkTreeViewColumn* column;
-    GtkCellRenderer* renderer;
-    gchar *ExtensionList_Titles[] = { N_("Extension Name"),
-                                      N_("Status"),
-                                      N_("Comment")
-                                    };
-    GtkTreeIter treeIter;
-    GError *error = NULL;
-    
-
-    /* Check if already opened */
-    if (AboutWindow)
+    static const gchar * const artists[] =
     {
-        gtk_window_present(GTK_WINDOW(AboutWindow));
-        return;
-    }
-
-    /* Dialog window */
-    AboutWindow = gtk_dialog_new();
-
-    /* Config */
-    gtk_window_set_title(GTK_WINDOW(AboutWindow),_("Aboutâ"));
-    gtk_window_set_position(GTK_WINDOW(AboutWindow),GTK_WIN_POS_CENTER);
-
-    /* Signals connection */
-    g_signal_connect(G_OBJECT(AboutWindow),"destroy", G_CALLBACK(Quit_About_Window),NULL);
-    g_signal_connect(G_OBJECT(AboutWindow),"delete_event",G_CALLBACK(Quit_About_Window),NULL);
-    g_signal_connect(G_OBJECT(AboutWindow),"key_press_event", G_CALLBACK(About_Window_Key_Press),NULL);
-
-     /* The NoteBook */
-    AboutNoteBook = gtk_notebook_new();
-    gtk_notebook_popup_enable(GTK_NOTEBOOK(AboutNoteBook));
-    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(AboutWindow))),AboutNoteBook,TRUE,TRUE,0);
-
-
-    /*
-     * Tab for common information
-     */
-
-    Label = gtk_label_new(_("About"));
-    Frame = gtk_frame_new(NULL);
-    gtk_notebook_append_page (GTK_NOTEBOOK(AboutNoteBook),Frame,Label);
-    gtk_container_set_border_width(GTK_CONTAINER(Frame), 2);
-
-    VBox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
-    gtk_container_add(GTK_CONTAINER(Frame),VBox);
-
-    /* EasyTAG Logo */
-    gtk_widget_realize(AboutWindow);
+        "Der Humph <humph gmx de>",
+        NULL
+    };
 
-#ifdef PACKAGE_DATA_DIR
-    pixbuf = gdk_pixbuf_new_from_file(PACKAGE_DATA_DIR"/EasyTAG_logo.xpm", &error);
-#else
-    pixbuf = gdk_pixbuf_new_from_file(EasyTAG_logo_xpm, &error);
-#endif
-    
-    if (pixbuf)
+    static const gchar * const authors[] =
     {
-        Logo = gtk_image_new_from_pixbuf(pixbuf);
-        g_object_unref(pixbuf);
-        gtk_box_pack_start(GTK_BOX(VBox),Logo,FALSE,TRUE,0);
-        gtk_misc_set_padding(GTK_MISC(Logo),2,2);
-    }else
+        "David King <amigadave amigadave com>",
+        "Kip Warner <kip thevertigo com>",
+        "Santtu Lakkala <inzane ircing org>",
+        "JÃrÃme Couderc <easytag gmail com>",
+        "Daniel Drake <dsd gentoo org>",
+        "Mihael Vrbanec <miqster gmx net>",
+        "Michael Pujos <pujos michael laposte net>",
+        "Adrian Bunk <bunk fs tum de>",
+        "Goetz Waschk <waschk informatik uni-rostock de>",
+        "Holger Schemel <aeglos valinor owl de>",
+        "Charles Kerr <charles superimp org>",
+        "Maciej Kasprzyk <kasprzol go2 pl>",
+        "Artur Polaczynski <artii o2 pl>",
+        "Philipp Thomas <pthomas suse de>",
+        "Oliver <oliver are-b org>",
+        "Tony Mancill <tony mancill com>",
+        "Pavel Minayev <thalion front ru>",
+        "Justus Schwartz <justus gmx li>",
+        "Fredrik Noring <noring nocrew org>",
+        "Paul Giordano <giordano covad net>",
+        "Michael Ihde <mike ihde randomwalking com>",
+        "Stewart Whitman <swhitman cox net>",
+        "Javier Kohen <jkohen users sourceforge net>",
+        "FutureFog <futurefog katamail com>",
+        "Maarten Maathuis <madman2003 gmail com>",
+        "Pierre Dumuid <pierre dumuid adelaide edu au>",
+        "Nick Lanham <nick afternight org>",
+        "Wojciech Wierchola <admin webcarrot pl>",
+        "Julian Taylor <jtaylor ubuntu com>",
+        "Honore Doktorr <hdfssk gmail com>",
+        "Guilherme Destefani <gd helixbrasil com br>",
+        NULL
+    };
+
+    static const gchar * const documenters[] =
     {
-        Log_Print(LOG_ERROR,error->message);
-        g_error_free(error);
-    }
-    
-    /* Infos */
-    Label = gtk_label_new(NULL);
-    gtk_label_set_markup(GTK_LABEL(Label),"<b>"APPNAME" "PACKAGE_VERSION"</b>");
-    gtk_box_pack_start(GTK_BOX(VBox),Label,FALSE,TRUE,0);
-
-    sprintf(temp,_("(compiled: %s)"),__DATE__);
-    Label = gtk_label_new(temp);
-    gtk_box_pack_start(GTK_BOX(VBox),Label,FALSE,TRUE,0);
-
-    sprintf(temp,_("(using: GTK+ %d.%d.%d)"),GTK_MAJOR_VERSION,GTK_MINOR_VERSION,GTK_MICRO_VERSION);
-    Label = gtk_label_new(temp);
-    gtk_box_pack_start(GTK_BOX(VBox),Label,FALSE,TRUE,0);
-
-    /* Insert a blank line */
-    Label = gtk_label_new("");
-    gtk_box_pack_start(GTK_BOX(VBox),Label,FALSE,TRUE,0);
-
-    sprintf(temp,_("Author: %s"),AUTHOR);
-    Label = gtk_label_new(temp);
-    gtk_box_pack_start(GTK_BOX(VBox),Label,FALSE,TRUE,0);
-
-    sprintf(temp,_("E-mail: %s"),EMAIL);
-    Label = gtk_label_new(temp);
-    gtk_box_pack_start(GTK_BOX(VBox),Label,FALSE,TRUE,0);
-
-    hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0);
-    gtk_box_pack_start(GTK_BOX(VBox),hbox,FALSE,TRUE,0);
-    Label = gtk_label_new(_("Web Page: "));
-    gtk_misc_set_alignment(GTK_MISC(Label),1,0.5);
-    gtk_box_pack_start(GTK_BOX(hbox),Label,TRUE,TRUE,0);
-    Button = gtk_button_new_with_label(WEBPAGE);
-    //Button = gtk_link_button_new(WEBPAGE);
-    gtk_box_pack_start(GTK_BOX(hbox),Button,TRUE,TRUE,0);
-    g_signal_connect(G_OBJECT(Button),"clicked", G_CALLBACK(About_Window_Go_To_Home_Page),NULL);
-    gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-
-    /* Insert a blank line */
-    Label = gtk_label_new("");
-    gtk_box_pack_start(GTK_BOX(VBox),Label,TRUE,TRUE,0);
-
-    Frame = gtk_frame_new(_("Description:"));
-    gtk_frame_set_shadow_type(GTK_FRAME(Frame),GTK_SHADOW_IN);
-    gtk_box_pack_start(GTK_BOX(VBox),Frame,FALSE,TRUE,0);
-    gtk_container_set_border_width(GTK_CONTAINER(Frame), 2);
-    
-    Label = gtk_label_new(_(description_text));
-    gtk_misc_set_padding(GTK_MISC(Label),2,2);
-    gtk_label_set_line_wrap(GTK_LABEL(Label),TRUE);
-    gtk_container_add(GTK_CONTAINER(Frame),Label);
-
-
-
-    /*
-     * Tab for extensions
-     */
-
-    Label = gtk_label_new(_("Extensions"));
-    Frame = gtk_frame_new(NULL);
-    gtk_notebook_append_page(GTK_NOTEBOOK(AboutNoteBook),Frame,Label);
-
-    ScrollWindow = gtk_scrolled_window_new(NULL,NULL);
-    gtk_container_add(GTK_CONTAINER(Frame),ScrollWindow);
-    gtk_container_set_border_width(GTK_CONTAINER(Frame),2);
-    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ScrollWindow),
-                                   GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
-
-    ExtensionListModel = gtk_list_store_new(EXTENSION_COLUMN_COUNT,
-                                            G_TYPE_STRING,      /* Pixbuf, but we use the Stock ID, so don't use GDK_TYPE_PIXBUF */
-                                            G_TYPE_STRING,      /* Extension name */
-                                            G_TYPE_STRING,      /* Statut */
-                                            G_TYPE_STRING       /* Comment */
-                                            );
-    ExtensionList = gtk_tree_view_new_with_model(GTK_TREE_MODEL(ExtensionListModel));
-
-    /* Pixbuf and Extension name */
-    column = gtk_tree_view_column_new();
-    gtk_tree_view_column_set_title(column, _(ExtensionList_Titles[0]));
-
-    // Cell of the column for the pixbuf
-    renderer = gtk_cell_renderer_pixbuf_new();
-    gtk_tree_view_column_pack_start(column, renderer, FALSE);
-    gtk_tree_view_column_set_attributes(column, renderer,
-                                       "stock-id", EXTENSION_PIXBUF,
-                                        NULL);
-    // Cell of the column for the text
-    renderer = gtk_cell_renderer_text_new();
-    gtk_tree_view_column_pack_start(column, renderer, FALSE);
-    gtk_tree_view_column_set_attributes(column, renderer,
-                                       "text", EXTENSION_NAME,
-                                        NULL);
-    gtk_tree_view_append_column(GTK_TREE_VIEW(ExtensionList), column);
-    gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-
-    /* Statut */
-    renderer = gtk_cell_renderer_text_new();
-    column = gtk_tree_view_column_new_with_attributes(_(ExtensionList_Titles[1]), renderer,
-                                                      "text", EXTENSION_STATUT,
-                                                      NULL);
-    gtk_tree_view_append_column(GTK_TREE_VIEW(ExtensionList), column);
-    gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-
-    /* Comment */
-    renderer = gtk_cell_renderer_text_new();
-    column = gtk_tree_view_column_new_with_attributes(_(ExtensionList_Titles[2]), renderer,
-                                                      "text", EXTENSION_COMMENT,
-                                                      NULL);
-    gtk_tree_view_append_column(GTK_TREE_VIEW(ExtensionList), column);
-    gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-
-    gtk_container_add(GTK_CONTAINER(ScrollWindow),ExtensionList);
-    gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(ExtensionList)),
-            GTK_SELECTION_NONE);
-    gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(ExtensionList), FALSE);
-    
-
-    // Load extensions list
-    // MP3
-#ifdef ENABLE_MP3
-    sprintf(temp, "libid3tag %s", ID3_VERSION);
-#endif
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("MP3 file support"),
-#ifdef ENABLE_MP3
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("enabled"),
-                       EXTENSION_COMMENT,   temp,
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-#ifdef ENABLE_MP3
-#if (defined ENABLE_ID3LIB) 
-    sprintf(temp, "id3lib %d.%d.%d", ID3LIB_MAJOR_VERSION, ID3LIB_MINOR_VERSION, ID3LIB_PATCH_VERSION);
-#endif
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("ID3v2.3 tags writting support"),
-#if (defined ENABLE_ID3LIB) 
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("available"), // May not be used
-                       EXTENSION_COMMENT,   temp,
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-#endif
-    // Ogg Vorbis
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("Ogg Vorbis file support"),
-#ifdef ENABLE_OGG
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("enabled"),
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-    // Speex
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("Speex file support"),
-#ifdef ENABLE_SPEEX
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("enabled"),
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-    // FLAC
-#ifdef ENABLE_FLAC
-    sprintf(temp, "flac %s", FLAC__VERSION_STRING);
-#endif
-
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("FLAC file support"),
-#ifdef ENABLE_FLAC
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("enabled"),
-                       EXTENSION_COMMENT,   temp,
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-    // MP4
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("MP4/AAC file support"),
-#ifdef ENABLE_MP4
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("enabled"),
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-    // WavPack
-    gtk_list_store_append(ExtensionListModel, &treeIter);
-    gtk_list_store_set(ExtensionListModel, &treeIter,
-                       EXTENSION_NAME,      _("WavPack file support"),
-#ifdef ENABLE_WAVPACK
-                       EXTENSION_PIXBUF,    GTK_STOCK_APPLY,
-                       EXTENSION_STATUT,    _("enabled"),
-#else
-                       EXTENSION_PIXBUF,    GTK_STOCK_CANCEL,
-                       EXTENSION_STATUT,    _("disabled"),
-#endif
-                       -1);
-
-
-    /*
-     * Tab for thanks
-     */
-
-    Label = gtk_label_new(_("Thanks"));
-    Frame = gtk_frame_new(NULL);
-    gtk_notebook_append_page(GTK_NOTEBOOK(AboutNoteBook),Frame,Label);
-
-    ScrollWindow = gtk_scrolled_window_new(NULL,NULL);
-    gtk_container_add(GTK_CONTAINER(Frame),ScrollWindow);
-    gtk_container_set_border_width(GTK_CONTAINER(Frame),2);
-    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ScrollWindow),
-                                   GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
-
-    TextBuffer = gtk_text_buffer_new(NULL);
-    gtk_text_buffer_create_tag(TextBuffer, "italic", "style", PANGO_STYLE_ITALIC, NULL);
-    gtk_text_buffer_create_tag(TextBuffer, "bold", "weight", PANGO_WEIGHT_BOLD, NULL);
-    gtk_text_buffer_create_tag(TextBuffer, "underline", "underline", PANGO_UNDERLINE_SINGLE, NULL);
-    gtk_text_buffer_create_tag(TextBuffer, "large", "scale", PANGO_SCALE_LARGE, NULL);
-    //gtk_text_buffer_create_tag(TextBuffer, "x-large", "scale", PANGO_SCALE_X_LARGE, NULL);
-    //gtk_text_buffer_create_tag(TextBuffer, "monospace", "family", "monospace", NULL);
-
-    gtk_text_buffer_get_iter_at_offset(TextBuffer, &textIter, 0);
-
-    temp_str = _("Translations:\n");
-    gtk_text_buffer_insert_with_tags_by_name(TextBuffer, &textIter,
-                                             temp_str, -1,
-                                             "bold", "underline", "large", NULL);
-
-    for (i=0; translations_thanks_text[i][0]!=NULL; i++)
+        "Emmanuel Brun <brunema wanadoo fr>",
+        "Daniel Pichler <dpichler dnet it>",
+        "Anders StrÃmer <anders stromer comhem se>",
+        NULL
+    };
+
+    static const gchar copyright[] = "Copyright  2012 David King\n"
+                                     "Copyright  2009â2012 Kip Warner\n"
+                                     "Copyright  2000â2008 JÃrÃme Couderc";
+
+    const gchar *license;
+    const gchar *translators;
+
+    license =  _("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 the Free Software Foundation; "
+                 "either version 2 of the License, or (at your option) any "
+                 "later version.\n"
+                 "\n"
+                 "This program is distributed in the hope that it will be "
+                 "useful, but WITHOUT ANY WARRANTY; without even the implied "
+                 "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+                 "PURPOSE.  See the GNU General Public License for more "
+                 "details.\n"
+                 "\n"
+                 "You should have received a copy of the GNU General Public "
+                 "License along with this program. If not, see "
+                 "<http://www.gnu.org/licenses/>.");
+
+    /* Translators: put your own name here to appear in the about dialog. */
+    translators = _("translator-credits");
+
+    if (!strcmp (translators,"translator-credits"))
     {
-        // Translator name
-        /*if (!g_utf8_validate(translations_thanks_text[i][0], -1, NULL))
-            temp_str = convert_string(translations_thanks_text[i][0], "iso-8859-1", "utf-8",TRUE);
-        else
-            temp_str = g_strdup(translations_thanks_text[i][0]);*/
-        temp_str = Try_To_Validate_Utf8_String(translations_thanks_text[i][0]);
-        gtk_text_buffer_insert(TextBuffer, &textIter, temp_str, -1);
-        g_free(temp_str);
-
-        // Translation language
-        /*if (!g_utf8_validate(translations_thanks_text[i][1], -1, NULL))
-            temp_str = convert_string(translations_thanks_text[i][1], "iso-8859-1", "utf-8",TRUE);
-        else
-            temp_str = g_strdup(translations_thanks_text[i][1]);*/
-        temp_str = Try_To_Validate_Utf8_String(translations_thanks_text[i][1]);
-        gtk_text_buffer_insert_with_tags_by_name(TextBuffer, &textIter, temp_str, -1,
-                                                 "italic", NULL);
-        g_free(temp_str);
-        gtk_text_buffer_insert(TextBuffer, &textIter, "\n", -1);
+        translators = NULL;
     }
 
-    gtk_text_buffer_insert(TextBuffer, &textIter, "\n", -1);
-
-    temp_str = _("General:\n");
-    gtk_text_buffer_insert_with_tags_by_name(TextBuffer, &textIter,
-                                             temp_str, -1,
-                                             "bold", "underline", "large", NULL);
-    gtk_text_buffer_insert(TextBuffer, &textIter, general_thanks_text, -1);
-
-    TextView = gtk_text_view_new_with_buffer(TextBuffer);
-    gtk_container_add(GTK_CONTAINER(ScrollWindow),TextView);
-    gtk_text_view_set_editable(GTK_TEXT_VIEW(TextView), FALSE);
-    gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(TextView), GTK_WRAP_WORD);
-
-    /*
-     * Close Button
-     */
-    Button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
-    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(AboutWindow))),Button,FALSE,FALSE,0);
-    g_signal_connect(G_OBJECT(Button),"clicked", G_CALLBACK(Quit_About_Window),NULL);
-    gtk_widget_set_can_default(Button,TRUE);
-    gtk_widget_grab_default(Button);
-
-
-    gtk_widget_show_all(AboutWindow);
-    //gtk_container_resize_children(GTK_CONTAINER(AboutNoteBook));
-}
-
-
-void About_Window_Go_To_Home_Page (void)
-{
-#ifdef WIN32
-    wineasytag_notify_uri(WEBPAGE);
-#else
-    if (system("gnome-moz-remote "WEBPAGE)!=0)
-        if (system("x-www-browser "WEBPAGE)!=0)
-            system("www-browser "WEBPAGE);
-#endif
+    gtk_show_about_dialog(NULL,/* TODO: GTK_WINDOW(MainWindow), */
+                          "artists",artists,
+                          "authors",authors,
+                          "comments",_("View and edit tags in audio files"),
+                          "copyright",copyright,
+                          "documenters",documenters,
+                          "license",license,
+                          "logo-icon-name",PACKAGE_TARNAME,
+                          "program-name",PACKAGE_NAME,
+                          "translator-credits",translators,
+                          "version",PACKAGE_VERSION,
+                          "website",PACKAGE_URL,
+                          "wrap-license",TRUE,
+                          NULL);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]