Initial import of MPlayer SVN rev 28382 and FFmpeg SVN rev 16846.
[vaapi:miks-mplayer.git] / gui / mplayer / gtk / about.c
1 /*
2  * This file is part of MPlayer.
3  *
4  * MPlayer is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * MPlayer is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18
19 #include "config.h"
20 #include "gui/app.h"
21 #include "help_mp.h"
22
23 #include "gui/mplayer/pixmaps/about.xpm"
24 #include "gui/mplayer/widgets.h"
25 #include "about.h"
26 #include "gtk_common.h"
27
28 GtkWidget * About = NULL;
29
30 void ShowAboutBox( void )
31 {
32  if ( About ) gtkActive( About );
33    else About=create_About();
34  gtk_widget_show( About );
35 }
36
37 void abWidgetDestroy( GtkWidget * widget,GtkWidget ** widget_pointer )
38 { WidgetDestroy( NULL,&About ); }
39
40 GtkWidget * create_About( void )
41 {
42   GtkWidget     * vbox;
43   GtkWidget     * pixmap1;
44   GtkWidget     * scrolledwindow1;
45   GtkWidget     * AboutText;
46   GtkWidget     * Ok;
47
48 #ifdef CONFIG_GTK2
49   GtkTextBuffer * AboutTextBuffer;
50   GtkTextIter   iter;
51 #endif /* CONFIG_GTK2 */
52
53   GtkStyle      * pixmapstyle;
54   GdkPixmap     * pixmapwid;
55   GdkBitmap     * mask;
56
57   GtkAccelGroup * accel_group;
58
59   accel_group=gtk_accel_group_new();
60
61   About=gtk_window_new( GTK_WINDOW_TOPLEVEL );
62   gtk_widget_set_name( About,MSGTR_About );
63   gtk_object_set_data( GTK_OBJECT( About ),MSGTR_About,About );
64   gtk_widget_set_usize( About,340,415 );
65   gtk_window_set_title( GTK_WINDOW( About ),MSGTR_About );
66   gtk_window_set_position( GTK_WINDOW( About ),GTK_WIN_POS_CENTER );
67   gtk_window_set_policy( GTK_WINDOW( About ),TRUE,FALSE,FALSE );
68   gtk_window_set_wmclass( GTK_WINDOW( About ),"About","MPlayer" );
69
70   gtk_widget_realize( About );
71   gtkAddIcon( About );
72   
73   vbox=AddVBox( AddDialogFrame( About ),0 );
74
75   pixmapstyle=gtk_widget_get_style( About );
76   pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( About->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],about_xpm );
77   pixmap1=gtk_pixmap_new( pixmapwid,mask );
78
79   gtk_widget_set_name( pixmap1,"pixmap1" );
80   gtk_widget_show( pixmap1 );
81   gtk_box_pack_start( GTK_BOX( vbox ),pixmap1,FALSE,FALSE,0 );
82   gtk_widget_set_usize( pixmap1,-2,174 );
83
84   AddHSeparator( vbox );
85
86   scrolledwindow1=gtk_scrolled_window_new( NULL,NULL );
87   gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" );
88   gtk_widget_show( scrolledwindow1 );
89   gtk_box_pack_start( GTK_BOX( vbox ),scrolledwindow1,TRUE,TRUE,0 );
90   gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC );
91
92 #ifdef CONFIG_GTK2
93   AboutText = gtk_text_view_new();
94   gtk_text_view_set_editable(GTK_TEXT_VIEW(AboutText), FALSE);
95   gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(AboutText), FALSE);
96   AboutTextBuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (AboutText));
97   gtk_text_buffer_get_iter_at_offset (AboutTextBuffer, &iter, 0);  
98 #else  
99   AboutText=gtk_text_new( NULL,NULL );
100   gtk_text_set_editable(GTK_TEXT(AboutText), FALSE);
101 #endif
102   gtk_widget_set_name( AboutText,"AboutText" );
103   gtk_widget_show( AboutText );
104   gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),AboutText );
105 #ifdef CONFIG_GTK2
106   gtk_text_buffer_insert (AboutTextBuffer, &iter,   
107 #else  
108   gtk_text_insert( GTK_TEXT( AboutText ),NULL,NULL,NULL,
109 #endif
110         "\n" 
111         MSGTR_ABOUT_UHU 
112         "             (http://www.uhulinux.hu/)\n" 
113         "\n" 
114         MSGTR_ABOUT_Contributors 
115         "\n"
116         "     * Ackermann, Andreas\n"
117         "     * adland\n"
118         "     * Anholt, Eric\n"
119         "     * Ashberg, Folke\n"
120         "     * Balatoni, Dénes\n"
121         "     * Barat, Zsolt\n"
122         "     * Barbato, Luca\n"
123         "     * Baryshkov, Dmitry\n"
124         "     * Baudet, Bertrand\n"
125         "     * Bedel, Alban\n"
126         "     * Behrisch, Michael\n"
127         "     * Belev, Luchezar\n"
128         "     * Bérczi, Gábor\n"
129         "     * Berecz, Szabolcs\n"
130         "     * Beregszászi, Alex\n"
131         "     * Bitterberg, Tilmann\n"
132         "     * Biurrun, Diego\n"
133         "     * Blomenkamp, Marcsu\n"
134         "     * Buehler, Andrew\n"
135         "     * Bulgroz, Eviv\n"
136         "     * Bünemann, Felix\n"
137         "     * Bunkus, Moritz\n"
138         "     * Christiansen, Dan Villiom Podlaski\n"
139         "     * Clagg, Jeff\n"
140         "     * Compn\n"
141         "     * Comstedt, Marcus\n"
142         "     * Cook, Kees\n"
143         "     * Davies, Stephen\n"
144         "     * Di Vita, Piero\n"
145         "     * Diedrich, Tobias\n"
146         "     * Dietrich, Florian\n"
147         "     * Dobbelaere, Jeroen\n"
148         "     * Döffinger, Reimar\n"
149         "     * Dolbeau, Romain\n"
150         "     * Dönmez, Ismail\n"
151         "     * Edele, Robert\n"
152         "     * Egger, Christoph\n"
153         "     * Elsinghorst, Paul Wilhelm\n"
154         "     * Ernesti, Bernd\n"
155         "     * Falco, Salvatore\n"
156         "     * Feigl, Johannes\n"
157         "     * Felker, D Richard III\n"
158         "     * Ferguson, Tim\n"
159         "     * Finlayson, Ross\n"
160         "     * Forghieri, Daniele\n"
161         "     * Foth, Kilian A.\n"
162         "     * Franz, Fabian\n"
163         "     * Gansser, Martin\n"
164         "     * Gereöffy, Árpád\n"
165         "     * Giani, Matteo\n"
166         "     * Goethel, Sven\n"
167         "     * Gomez Garcia, German\n"
168         "     * Gottwald, Alexander\n"
169         "     * Graffam, Michael\n"
170         "     * Gritsenko, Andriy N.\n"
171         "     * Guyomarch, Rémi\n"
172         "     * Hammelmann, Jürgen\n"
173         "     * Hertel, Christopher R.\n"
174         "     * Hess, Andreas\n"
175         "     * Hickey, Corey\n"
176         "     * Hidvégi, Zoltán\n"
177         "     * Hoffmann, Jens\n"
178         "     * Holm, David\n"
179         "     * Horst, Bohdan\n"
180         "     * Hug, Hampa\n"
181         "     * Hurka, Tomas\n"
182         "     * Isani, Sidik\n"
183         "     * Issaris, Panagiotis\n"
184         "     * Jacobs, Aurelien\n"
185         "     * Jelveh, Reza\n"
186         "     * Jermann, Jonas\n"
187         "     * Johansson, Anders\n"
188         "     * Kain, Nicholas\n"
189         "     * Kalinski, Filip\n"
190         "     * Kalvachev, Ivan\n"
191         "     * Kaniewski, Wojtek\n"
192         "     * Kaplan, Kim Minh\n"
193         "     * Kärkkäinen, Samuli\n"
194         "     * Keil, Jürgen\n"
195         "     * Kesterson, Robert\n"
196         "     * Kinali, Attila\n"
197         "     * Kovriga, Gregory\n"
198         "     * Kühling, David\n"
199         "     * Kuivinen, Fredrik\n"
200         "     * Kurshev, Nick\n"
201         "     * Kuschak, Brian\n"
202         "     * Kushnir, Vladimir\n"
203         "     * Lambley, Dave\n"
204         "     * László, Gyula\n"
205         "     * Le Gaillart, Nicolas\n"
206         "     * Lénárt, Gábor\n"
207         "     * Leroy, Colin\n"
208         "     * Liljeblad, Oskar\n"
209         "     * Lin, Sam\n"
210         "     * Lombard, Pierre\n"
211         "     * Madick, Puk\n"
212         "     * Makovicka, Jindrich\n"
213         "     * Marek, Rudolf\n"
214         "     * Megyer, László\n"
215         "     * Melanson, Mike\n"
216         "     * von Merkatz, Arwed\n"
217         "     * Merritt, Loren\n"
218         "     * Mierzejewski, Dominik\n"
219         "     * Milushev, Mihail\n"
220         "     * Mistry, Nehal\n"
221         "     * Mohari, András\n"
222         "     * Mueller, Steven\n"
223         "     * Neundorf, Alexander\n"
224         "     * Niedermayer, Michael\n"
225         "     * Noring, Fredrik\n"
226         "     * Ohm, Christian\n"
227         "     * Parrish, Joey\n"
228         "     * Pietrzak, Dariusz\n"
229         "     * Plourde, Nicolas\n"
230         "     * Poettering, Lennart\n"
231         "     * Poirier, Guillaume\n"
232         "     * Ponekker, Zoltán\n"
233         "     * van Poorten, Ivo\n"
234         "     * Ran, Lu\n"
235         "     * Reder, Uwe\n"
236         "     * rgselk\n"
237         "     * Rune Petersen\n"
238         "     * Saari, Ville\n"
239         "     * Sabbi, Nico\n"
240         "     * Sandell, Björn\n"
241         "     * Sauerbeck, Tilman\n"
242         "     * Scherthan, Frank\n"
243         "     * Schneider, Florian\n"
244         "     * Schoenbrunner, Oliver\n"
245         "     * Shimon, Oded\n"
246         "     * Simon, Peter\n"
247         "     * Snel, Rik\n"
248         "     * Sommer, Sascha\n"
249         "     * Strasser, Alexander\n"
250         "     * Strzelecki, Kamil\n"
251         "     * Svoboda, Jiri\n"
252         "     * Swain, Robert\n"
253         "     * Syrjälä, Ville\n"
254         "     * Szecsi, Gabor\n"
255         "     * Tackaberry, Jason\n"
256         "     * Tam, Howell\n"
257         "     * Tlalka, Adam\n"
258         "     * Tiesi, Gianluigi\n"
259         "     * Togni, Roberto\n"
260         "     * Tropea, Salvador Eduardo\n"
261         "     * Vajna, Miklós\n"
262         "     * Verdejo Pinochet, Reynaldo H.\n"
263         "     * Wigren, Per\n"
264         "     * Witt, Derek J\n"
265         "     * Young, Alan\n"
266         "     * Zaprzala, Artur\n"
267         "     * Zealey, Mark\n"
268         "     * Ziv-Av, Matan\n"
269         "     * Zoltán, Márk Vicián\n"
270         "\n" 
271         MSGTR_ABOUT_Codecs_libs_contributions 
272         "\n"
273         "     * Bellard, Fabrice\n"
274         "     * Chappelier, Vivien and Vincent, Damien\n"
275         "     * Hipp, Michael\n"
276         "     * Holtzman, Aaron\n"
277         "     * Janovetz, Jake\n"
278         "     * Kabelac, Zdenek\n"
279         "     * Kuznetsov, Eugene\n"
280         "     * Lespinasse, Michel\n"
281         "     * Podlipec, Mark\n"
282         "\n"
283         MSGTR_ABOUT_Translations 
284         "\n"
285         "     * Biernat, Marcin\n"
286         "     * Fargas, Marc\n"
287         "     * Heryan, Jiri\n"
288         "     * Jarycki, Marek\n"
289         "     * Kaplita, Leszek\n"
290         "     * Krämer, Sebastian\n"
291         "     * López, Juan Martin\n"
292         "     * Michniewski, Piotr\n"
293         "     * Misiorny, Jakub\n"
294         "     * Mizda, Gábor\n"
295         "     * Paszta, Maciej\n"
296         "     * Proszek, Łukasz\n"
297         "     * Schiller, Wacław\n"
298         "     * Zubimendi, Andoni\n"
299         "\n"
300         MSGTR_ABOUT_Skins 
301         "\n" 
302         "     * Azrael\n"
303         "     * Bekesi, Viktor\n"
304         "     * Burt.S.\n"
305         "     * Carpenter, Andrew\n"
306         "     * Foucault, Charles\n"
307         "     * Gyimesi, Attila\n"
308         "     * Hertroys, Alban\n"
309         "     * Juan Pablo\n"
310         "     * Kiss, Balint\n"
311         "     * Kuehne, Andre\n"
312         "     * Kuhlmann, Rüdiger\n"
313         "     * Naumov, Dan\n"
314         "     * Northam, Ryan\n"
315         "     * Oyarzun Arroyo\n"
316         "     * Park, DongCheon\n"
317         "     * Pehrson, Jurgen\n"
318         "     * Pizurica, Nikola\n"
319         "     * Ptak, Oliwier\n"
320         "     * Riccio, Pasquale\n"
321         "     * Schultz, Jesper\n"
322         "     * Szumiela, Marcin\n"
323         "     * Tisi, Massimo\n"
324         "     * Tyr, Jiri jun.\n"
325         "     * Vasilev, Ognian\n"
326         "     * Veres, Imre\n"
327         "     * Vesko, Radic\n"
328         "     * Vigvary, Balasz\n"
329         "     * Weber, Andrew\n"
330         "     * Whitmore, Gary Jr.\n"
331         "     * Wilamowski, Franciszek\n"
332         "     * Zeising, Michael\n"
333         "\n",-1 );
334
335   AddHSeparator( vbox );
336   Ok=AddButton( MSGTR_Ok,AddHButtonBox( vbox ) );
337
338   gtk_signal_connect( GTK_OBJECT( About ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&About );
339   gtk_signal_connect_object( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( abWidgetDestroy ),NULL );
340
341   gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
342   gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
343   gtk_window_add_accel_group( GTK_WINDOW( About ),accel_group );
344
345   return About;
346 }