changes to help strp silence
[ardour.git] / gtk2_ardour / about.cc
1 /*
2     Copyright (C) 2003 Paul Davis
3
4     This program 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     This program 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
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 #include <algorithm>
21 #include <unistd.h>
22 #include <sys/types.h>
23 #include <sys/wait.h>
24 #include <cstdio>
25 #include <ctime>
26 #include <cstdlib>
27
28 #include "pbd/file_utils.h"
29
30 #include "ardour/svn_revision.h"
31 #include "ardour/ardour.h"
32 #include "ardour/version.h"
33 #include "ardour/filesystem_paths.h"
34
35 #include "utils.h"
36 #include "version.h"
37
38 #include "about.h"
39 #include "configinfo.h"
40 #include "rgb_macros.h"
41 #include "ardour_ui.h"
42
43 #include "i18n.h"
44
45 using namespace Gtk;
46 using namespace Gdk;
47 using namespace std;
48 using namespace ARDOUR;
49 using namespace PBD;
50
51 #ifdef WITH_PAYMENT_OPTIONS
52
53 /* XPM */
54 static const gchar * paypal_xpm[] = {
55 "62 31 33 1",
56 "       c None",
57 ".      c #325781",
58 "+      c #154170",
59 "@      c #C1CDDA",
60 "#      c #4E6E92",
61 "$      c #D1D5DA",
62 "%      c #88A0B8",
63 "&      c #B4C4D3",
64 "*      c #C8D3DE",
65 "=      c #D7E1E9",
66 "-      c #002158",
67 ";      c #F6F8FA",
68 ">      c #44658B",
69 ",      c #E7ECF0",
70 "'      c #A4B7CA",
71 ")      c #9DB0C4",
72 "!      c #E3F1F7",
73 "~      c #708CA9",
74 "{      c #E1E7ED",
75 "]      c #567698",
76 "^      c #7C96B1",
77 "/      c #E7F5FA",
78 "(      c #EEF1F4",
79 "_      c #6883A2",
80 ":      c #244873",
81 "<      c #BBBBBB",
82 "[      c #E9E9E9",
83 "}      c #063466",
84 "|      c #22364D",
85 "1      c #94A7BD",
86 "2      c #000000",
87 "3      c #EAF7FC",
88 "4      c #FFFFFF",
89 "1'111111111111111111111111111111111111111111111111111111111%_#",
90 "%333333333333333333333333333333333333333333333333333333333333.",
91 "%444444444444444444444444444444444444444444444444444444444444:",
92 "_4333333!!!!!!33333333333333333333!!!!!!33333333333!%%%%1334[:",
93 "_444444@+}}}}+>)44444444444444444,:}}}}}.^(44444444@}..+.44($:",
94 "_433333^:&&&&)_}_33///33333333333&+)&&&'~+./3///333^.(;#]33($:",
95 "_444444>_444444'}_>...#%####~,]##..444444=+#]...>1;#_4;.144($:",
96 "_43333!+'4,>#=4(:+_%%%]}}#~#}_+~~:]44_>&44#}_%%%_+>:14=}@33($:",
97 "_44444*+$4&--)4(+%44444%-)4=--'4{+14,}-~44##44444&}}*4)+444($:",
98 "_433331:;4):_;4*}_]:.$4*-~4{}>44#-=4@.#{4;+>_:.&4,++;4_#333($:",
99 "_44444_#444444=.-.%&*,41-#4(:@4'-:(44444(_-:^&*,4*}#44.%444($:",
100 "_43333:%4;@@'~+-%44*&44]-.;;'4,:-#44*@&%:-];4{'(4)-%4{+&333($:",
101 "_4444{}@4*}}+>#:;4^-#4;.>+,444_+:^4(:}+.]}=4'-+(4_-&4&+{444($:",
102 "_4333'+(41:*=3'.44*)(4=+)+*44@}%+@4=}&=/@}{4{1{44:+,4^.3333($:",
103 "_4444~>,,]#444*})(;**,':*}'4;._@}=,%:444(+~(;{&,*}.,,>~4444($:",
104 "_4333>}}}}^3333~}::}}}}>].;4^+=~}}}}]3333'}+:}}}}}}}}}'3333($:",
105 "_4444$@@@@(44444$))@*@*^}$4=}14=@@@@{44444=))&*@@@@@@@;4444($:",
106 "_433333333333333333333=+:%%.>/33333333333333333333333333333($:",
107 "_4444444444444444444441....>=444444444444444444444444444444($:",
108 "_4333333333333333333333333333333333333333333333333333333333($:",
109 "_4444444444444444444444444444444444444444444444444444444444($:",
110 "_4333333333333333333333333333333333333333333333333333333333($:",
111 "_4444442222444222442444242444244222242444242222244222244444($:",
112 "_4333332333232333233232332232233233332233233323332333333333($:",
113 "_4444442222442222244424442424244222442424244424444222444444($:",
114 "_4333332333332333233323332333233233332332233323333333233333($:",
115 "_4444442444442444244424442444244222242444244424442222444444($:",
116 "_433333333333333333333333333333333333333333333333333333333344:",
117 "#4([[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[=&:",
118 ".=&<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<1|",
119 "::||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"};
120 #endif
121
122 static const char* authors[] = {
123         N_("Brian Ahr"),
124         N_("John Anderson"),
125         N_("Marcus Andersson"),
126         N_("Nedko Arnaudov"),
127         N_("Hans Baier"),
128         N_("Ben Bell"),
129         N_("Sakari Bergen"),
130         N_("Chris Cannam"),
131         N_("Jesse Chappell"),
132         N_("Thomas Charbonnel"),
133         N_("Sam Chessman"),
134         N_("Paul Davis"),
135         N_("Gerard van Dongen"),
136         N_("Colin Fletcher"),
137         N_("Hans Fugal"),
138         N_("Christopher George"),
139         N_("J. Abelardo Gutierrez"),
140         N_("Jeremy Hall"),
141         N_("Audun Halland"),
142         N_("Steve Harris"),
143         N_("Carl Hetherington"),
144         N_("Rob Holland"),
145         N_("Robert Jordens"),
146         N_("Stefan Kersten"),
147         N_("Armand Klenk"),
148         N_("Matt Krai"),
149         N_("Colin Law"),
150         N_("Joshua Leach"),
151         N_("Ben Loftis"),
152         N_("Nick Mainsbridge"),
153         N_("Tim Mayberry"),
154         N_("Doug Mclain"),
155         N_("Jack O'Quin"),
156         N_("Nimal Ratnayake"),
157         N_("Dave Robillard"),
158         N_("Taybin Rutkin"),
159         N_("Sampo Savolainen"),
160         N_("Per Sigmond"),
161         N_("Lincoln Spiteri"),
162         N_("Mark Stewart"),
163         N_("Roland Stigge"),
164         N_("Petter Sundlöf"),
165         N_("Mike Täht"),
166         N_("Thorsten Wilms"),
167         0
168 };
169
170 static const char* translators[] = {
171         N_("French:\n\tAlain Fréhel <alain.frehel@free.fr>\n\tChristophe Combelles <ccomb@free.fr>\n"),
172         N_("German:\n\tKarsten Petersen <kapet@kapet.de>\
173 \n\tSebastian Arnold <mail@sebastian-arnold.net>\
174 \n\tRobert Schwede<schwede@ironshark.com>\n"),
175         N_("Italian:\n\tFilippo Pappalardo <filippo@email.it>\n"),
176         N_("Portuguese:\n\tRui Nuno Capela <rncbc@rncbc.org>\n"),
177         N_("Brazilian Portuguese:\n\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\
178 \n\tChris Ross <chris@tebibyte.org>\n"),
179         N_("Spanish:\n\t Alex Krohn <alexkrohn@fastmail.fm>\n"),
180         N_("Russian:\n\t Igor Blinov <pitstop@nm.ru>\n"),
181         N_("Greek:\n\t Klearchos Gourgourinis <muadib@in.gr>\n"),
182         N_("Swedish:\n\t Petter Sundlöf <petter.sundlof@gmail.com>\n"),
183         N_("Polish:\n\t Piotr Zaryk <pzaryk@gmail.com>\n"),
184         0
185 };
186
187 static const char* gpl = X_("\n\
188 Ardour comes with NO WARRANTY. It is free software, and you are welcome to redistribute it\n\
189 under the terms of the GNU Public License, shown below.\n\
190 \n\
191                     GNU GENERAL PUBLIC LICENSE\n\
192                        Version 2, June 1991\n\
193 \n\
194  Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n\
195      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\
196  Everyone is permitted to copy and distribute verbatim copies\n\
197  of this license document, but changing it is not allowed.\n\
198 \n\
199                             Preamble\n\
200 \n\
201   The licenses for most software are designed to take away your\n\
202 freedom to share and change it.  By contrast, the GNU General Public\n\
203 License is intended to guarantee your freedom to share and change free\n\
204 software--to make sure the software is free for all its users.  This\n\
205 General Public License applies to most of the Free Software\n\
206 Foundation's software and to any other program whose authors commit to\n\
207 using it.  (Some other Free Software Foundation software is covered by\n\
208 the GNU Library General Public License instead.)  You can apply it to\n\
209 your programs, too.\n\
210 \n\
211   When we speak of free software, we are referring to freedom, not\n\
212 price.  Our General Public Licenses are designed to make sure that you\n\
213 have the freedom to distribute copies of free software (and charge for\n\
214 this service if you wish), that you receive source code or can get it\n\
215 if you want it, that you can change the software or use pieces of it\n\
216 in new free programs; and that you know you can do these things.\n\
217 \n\
218   To protect your rights, we need to make restrictions that forbid\n\
219 anyone to deny you these rights or to ask you to surrender the rights.\n\
220 These restrictions translate to certain responsibilities for you if you\n\
221 distribute copies of the software, or if you modify it.\n\
222 \n\
223   For example, if you distribute copies of such a program, whether\n\
224 gratis or for a fee, you must give the recipients all the rights that\n\
225 you have.  You must make sure that they, too, receive or can get the\n\
226 source code.  And you must show them these terms so they know their\n\
227 rights.\n\
228 \n\
229   We protect your rights with two steps: (1) copyright the software, and\n\
230 (2) offer you this license which gives you legal permission to copy,\n\
231 distribute and/or modify the software.\n\
232 \n\
233   Also, for each author's protection and ours, we want to make certain\n\
234 that everyone understands that there is no warranty for this free\n\
235 software.  If the software is modified by someone else and passed on, we\n\
236 want its recipients to know that what they have is not the original, so\n\
237 that any problems introduced by others will not reflect on the original\n\
238 authors' reputations.\n\
239 \n\
240   Finally, any free program is threatened constantly by software\n\
241 patents.  We wish to avoid the danger that redistributors of a free\n\
242 program will individually obtain patent licenses, in effect making the\n\
243 program proprietary.  To prevent this, we have made it clear that any\n\
244 patent must be licensed for everyone's free use or not licensed at all.\n\
245 \n\
246   The precise terms and conditions for copying, distribution and\n\
247 modification follow.\n\
248 \f\n\
249                     GNU GENERAL PUBLIC LICENSE\n\
250    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\
251 \n\
252   0. This License applies to any program or other work which contains\n\
253 a notice placed by the copyright holder saying it may be distributed\n\
254 under the terms of this General Public License.  The \"Program\", below,\n\
255 refers to any such program or work, and a \"work based on the Program\"\n\
256 means either the Program or any derivative work under copyright law:\n\
257 that is to say, a work containing the Program or a portion of it,\n\
258 either verbatim or with modifications and/or translated into another\n\
259 language.  (Hereinafter, translation is included without limitation in\n\
260 the term \"modification\".)  Each licensee is addressed as \"you\".\n\
261 \n\
262 Activities other than copying, distribution and modification are not\n\
263 covered by this License; they are outside its scope.  The act of\n\
264 running the Program is not restricted, and the output from the Program\n\
265 is covered only if its contents constitute a work based on the\n\
266 Program (independent of having been made by running the Program).\n\
267 Whether that is true depends on what the Program does.\n\
268 \n\
269   1. You may copy and distribute verbatim copies of the Program's\n\
270 source code as you receive it, in any medium, provided that you\n\
271 conspicuously and appropriately publish on each copy an appropriate\n\
272 copyright notice and disclaimer of warranty; keep intact all the\n\
273 notices that refer to this License and to the absence of any warranty;\n\
274 and give any other recipients of the Program a copy of this License\n\
275 along with the Program.\n\
276 \n\
277 You may charge a fee for the physical act of transferring a copy, and\n\
278 you may at your option offer warranty protection in exchange for a fee.\n\
279 \n\
280   2. You may modify your copy or copies of the Program or any portion\n\
281 of it, thus forming a work based on the Program, and copy and\n\
282 distribute such modifications or work under the terms of Section 1\n\
283 above, provided that you also meet all of these conditions:\n\
284 \n\
285     a) You must cause the modified files to carry prominent notices\n\
286     stating that you changed the files and the date of any change.\n\
287 \n\
288     b) You must cause any work that you distribute or publish, that in\n\
289     whole or in part contains or is derived from the Program or any\n\
290     part thereof, to be licensed as a whole at no charge to all third\n\
291     parties under the terms of this License.\n\
292 \n\
293     c) If the modified program normally reads commands interactively\n\
294     when run, you must cause it, when started running for such\n\
295     interactive use in the most ordinary way, to print or display an\n\
296     announcement including an appropriate copyright notice and a\n\
297     notice that there is no warranty (or else, saying that you provide\n\
298     a warranty) and that users may redistribute the program under\n\
299     these conditions, and telling the user how to view a copy of this\n\
300     License.  (Exception: if the Program itself is interactive but\n\
301     does not normally print such an announcement, your work based on\n\
302     the Program is not required to print an announcement.)\n\
303 \f\n\
304 These requirements apply to the modified work as a whole.  If\n\
305 identifiable sections of that work are not derived from the Program,\n\
306 and can be reasonably considered independent and separate works in\n\
307 themselves, then this License, and its terms, do not apply to those\n\
308 sections when you distribute them as separate works.  But when you\n\
309 distribute the same sections as part of a whole which is a work based\n\
310 on the Program, the distribution of the whole must be on the terms of\n\
311 this License, whose permissions for other licensees extend to the\n\
312 entire whole, and thus to each and every part regardless of who wrote it.\n\
313 \n\
314 Thus, it is not the intent of this section to claim rights or contest\n\
315 your rights to work written entirely by you; rather, the intent is to\n\
316 exercise the right to control the distribution of derivative or\n\
317 collective works based on the Program.\n\
318 \n\
319 In addition, mere aggregation of another work not based on the Program\n\
320 with the Program (or with a work based on the Program) on a volume of\n\
321 a storage or distribution medium does not bring the other work under\n\
322 the scope of this License.\n\
323 \n\
324   3. You may copy and distribute the Program (or a work based on it,\n\
325 under Section 2) in object code or executable form under the terms of\n\
326 Sections 1 and 2 above provided that you also do one of the following:\n\
327 \n\
328     a) Accompany it with the complete corresponding machine-readable\n\
329     source code, which must be distributed under the terms of Sections\n\
330     1 and 2 above on a medium customarily used for software interchange; or,\n\
331 \n\
332     b) Accompany it with a written offer, valid for at least three\n\
333     years, to give any third party, for a charge no more than your\n\
334     cost of physically performing source distribution, a complete\n\
335     machine-readable copy of the corresponding source code, to be\n\
336     distributed under the terms of Sections 1 and 2 above on a medium\n\
337     customarily used for software interchange; or,\n\
338 \n\
339     c) Accompany it with the information you received as to the offer\n\
340     to distribute corresponding source code.  (This alternative is\n\
341     allowed only for noncommercial distribution and only if you\n\
342     received the program in object code or executable form with such\n\
343     an offer, in accord with Subsection b above.)\n\
344 \n\
345 The source code for a work means the preferred form of the work for\n\
346 making modifications to it.  For an executable work, complete source\n\
347 code means all the source code for all modules it contains, plus any\n\
348 associated interface definition files, plus the scripts used to\n\
349 control compilation and installation of the executable.  However, as a\n\
350 special exception, the source code distributed need not include\n\
351 anything that is normally distributed (in either source or binary\n\
352 form) with the major components (compiler, kernel, and so on) of the\n\
353 operating system on which the executable runs, unless that component\n\
354 itself accompanies the executable.\n\
355 \n\
356 If distribution of executable or object code is made by offering\n\
357 access to copy from a designated place, then offering equivalent\n\
358 access to copy the source code from the same place counts as\n\
359 distribution of the source code, even though third parties are not\n\
360 compelled to copy the source along with the object code.\n\
361 \f\n\
362   4. You may not copy, modify, sublicense, or distribute the Program\n\
363 except as expressly provided under this License.  Any attempt\n\
364 otherwise to copy, modify, sublicense or distribute the Program is\n\
365 void, and will automatically terminate your rights under this License.\n\
366 However, parties who have received copies, or rights, from you under\n\
367 this License will not have their licenses terminated so long as such\n\
368 parties remain in full compliance.\n\
369 \n\
370   5. You are not required to accept this License, since you have not\n\
371 signed it.  However, nothing else grants you permission to modify or\n\
372 distribute the Program or its derivative works.  These actions are\n\
373 prohibited by law if you do not accept this License.  Therefore, by\n\
374 modifying or distributing the Program (or any work based on the\n\
375 Program), you indicate your acceptance of this License to do so, and\n\
376 all its terms and conditions for copying, distributing or modifying\n\
377 the Program or works based on it.\n\
378 \n\
379   6. Each time you redistribute the Program (or any work based on the\n\
380 Program), the recipient automatically receives a license from the\n\
381 original licensor to copy, distribute or modify the Program subject to\n\
382 these terms and conditions.  You may not impose any further\n\
383 restrictions on the recipients' exercise of the rights granted herein.\n\
384 You are not responsible for enforcing compliance by third parties to\n\
385 this License.\n\
386 \n\
387   7. If, as a consequence of a court judgment or allegation of patent\n\
388 infringement or for any other reason (not limited to patent issues),\n\
389 conditions are imposed on you (whether by court order, agreement or\n\
390 otherwise) that contradict the conditions of this License, they do not\n\
391 excuse you from the conditions of this License.  If you cannot\n\
392 distribute so as to satisfy simultaneously your obligations under this\n\
393 License and any other pertinent obligations, then as a consequence you\n\
394 may not distribute the Program at all.  For example, if a patent\n\
395 license would not permit royalty-free redistribution of the Program by\n\
396 all those who receive copies directly or indirectly through you, then\n\
397 the only way you could satisfy both it and this License would be to\n\
398 refrain entirely from distribution of the Program.\n\
399 \n\
400 If any portion of this section is held invalid or unenforceable under\n\
401 any particular circumstance, the balance of the section is intended to\n\
402 apply and the section as a whole is intended to apply in other\n\
403 circumstances.\n\
404 \n\
405 It is not the purpose of this section to induce you to infringe any\n\
406 patents or other property right claims or to contest validity of any\n\
407 such claims; this section has the sole purpose of protecting the\n\
408 integrity of the free software distribution system, which is\n\
409 implemented by public license practices.  Many people have made\n\
410 generous contributions to the wide range of software distributed\n\
411 through that system in reliance on consistent application of that\n\
412 system; it is up to the author/donor to decide if he or she is willing\n\
413 to distribute software through any other system and a licensee cannot\n\
414 impose that choice.\n\
415 \n\
416 This section is intended to make thoroughly clear what is believed to\n\
417 be a consequence of the rest of this License.\n\
418 \f\n\
419   8. If the distribution and/or use of the Program is restricted in\n\
420 certain countries either by patents or by copyrighted interfaces, the\n\
421 original copyright holder who places the Program under this License\n\
422 may add an explicit geographical distribution limitation excluding\n\
423 those countries, so that distribution is permitted only in or among\n\
424 countries not thus excluded.  In such case, this License incorporates\n\
425 the limitation as if written in the body of this License.\n\
426 \n\
427   9. The Free Software Foundation may publish revised and/or new versions\n\
428 of the General Public License from time to time.  Such new versions will\n\
429 be similar in spirit to the present version, but may differ in detail to\n\
430 address new problems or concerns.\n\
431 \n\
432 Each version is given a distinguishing version number.  If the Program\n\
433 specifies a version number of this License which applies to it and \"any\n\
434 later version\", you have the option of following the terms and conditions\n\
435 either of that version or of any later version published by the Free\n\
436 Software Foundation.  If the Program does not specify a version number of\n\
437 this License, you may choose any version ever published by the Free Software\n\
438 Foundation.\n\
439 \n\
440   10. If you wish to incorporate parts of the Program into other free\n\
441 programs whose distribution conditions are different, write to the author\n\
442 to ask for permission.  For software which is copyrighted by the Free\n\
443 Software Foundation, write to the Free Software Foundation; we sometimes\n\
444 make exceptions for this.  Our decision will be guided by the two goals\n\
445 of preserving the free status of all derivatives of our free software and\n\
446 of promoting the sharing and reuse of software generally.\n\
447 \n\
448                             NO WARRANTY\n\
449 \n\
450   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n\
451 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\n\
452 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n\
453 PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n\
454 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n\
455 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\n\
456 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\n\
457 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n\
458 REPAIR OR CORRECTION.\n\
459 \n\
460   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n\
461 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n\
462 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n\
463 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n\
464 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n\
465 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n\
466 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n\
467 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n\
468 POSSIBILITY OF SUCH DAMAGES.\n\
469 \n\
470                      END OF TERMS AND CONDITIONS\n\
471 \f\n\
472             How to Apply These Terms to Your New Programs\n\
473 \n\
474   If you develop a new program, and you want it to be of the greatest\n\
475 possible use to the public, the best way to achieve this is to make it\n\
476 free software which everyone can redistribute and change under these terms.\n\
477 \n\
478   To do so, attach the following notices to the program.  It is safest\n\
479 to attach them to the start of each source file to most effectively\n\
480 convey the exclusion of warranty; and each file should have at least\n\
481 the \"copyright\" line and a pointer to where the full notice is found.\n\
482 \n\
483     <one line to give the program's name and a brief idea of what it does.>\n\
484     Copyright (C) <year>  <name of author>\n\
485 \n\
486     This program is free software; you can redistribute it and/or modify\n\
487     it under the terms of the GNU General Public License as published by\n\
488     the Free Software Foundation; either version 2 of the License, or\n\
489     (at your option) any later version.\n\
490 \n\
491     This program is distributed in the hope that it will be useful,\n\
492     but WITHOUT ANY WARRANTY; without even the implied warranty of\n\
493     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n\
494     GNU General Public License for more details.\n\
495 \n\
496     You should have received a copy of the GNU General Public License\n\
497     along with this program; if not, write to the Free Software\n\
498     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\
499 \n\
500 \n\
501 Also add information on how to contact you by electronic and paper mail.\n\
502 \n\
503 If the program is interactive, make it output a short notice like this\n\
504 when it starts in an interactive mode:\n\
505 \n\
506     Gnomovision version 69, Copyright (C) year  name of author\n\
507     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n\
508     This is free software, and you are welcome to redistribute it\n\
509     under certain conditions; type `show c' for details.\n\
510 \n\
511 The hypothetical commands `show w' and `show c' should show the appropriate\n\
512 parts of the General Public License.  Of course, the commands you use may\n\
513 be called something other than `show w' and `show c'; they could even be\n\
514 mouse-clicks or menu items--whatever suits your program.\n\
515 \n\
516 You should also get your employer (if you work as a programmer) or your\n\
517 school, if any, to sign a \"copyright disclaimer\" for the program, if\n\
518 necessary.  Here is a sample; alter the names:\n\
519 \n\
520   Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n\
521   `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\
522 \n\
523   <signature of Ty Coon>, 1 April 1989\n\
524   Ty Coon, President of Vice\n\
525 \n\
526 This General Public License does not permit incorporating your program into\n\
527 proprietary programs.  If your program is a subroutine library, you may\n\
528 consider it more useful to permit linking proprietary applications with the\n\
529 library.  If this is what you want to do, use the GNU Library General\n\
530 Public License instead of this License.\n\
531 ");
532
533 About::About ()
534         : config_info (0)
535 #ifdef WITH_PAYMENT_OPTIONS
536         , paypal_pixmap (paypal_xpm)
537 #endif
538 {
539         // set_type_hint(Gdk::WINDOW_TYPE_HINT_SPLASHSCREEN);
540
541         string path;
542         string t;
543
544         sys::path splash_file;
545
546         SearchPath spath(ardour_search_path() + system_data_search_path());
547
548         if (find_file_in_search_path (spath, "splash.png", splash_file)) {
549                 set_logo (Gdk::Pixbuf::create_from_file (splash_file.to_string()));
550         } else {
551                 error << "Could not find splash file" << endmsg;
552         }
553
554         set_authors (authors);
555
556         for (int n = 0; translators[n]; ++n) {
557                 t += translators[n];
558                 t += ' ';
559         }
560
561         set_translator_credits (t);
562         set_copyright (_("Copyright (C) 1999-2009 Paul Davis\n"));
563         set_license (gpl);
564         set_name (X_("ardour"));
565         set_website (X_("http://ardour.org/"));
566         set_website_label (_("visit http://ardour.org/"));
567         set_version ((string_compose(_("%1\n(built from revision %2)"),
568                                      VERSIONSTRING,
569                                      svn_revision)));
570
571         Gtk::Button* config_button = manage (new Button (_("Config")));
572
573         get_action_area()->add (*config_button);
574         get_action_area()->reorder_child (*config_button, 0);
575         config_button->signal_clicked().connect (mem_fun (*this, &About::show_config_info));
576 }
577
578 About::~About ()
579 {
580         delete config_info;
581 }
582
583 void
584 About::show_config_info ()
585 {
586         if (!config_info) {
587                 config_info = new ConfigInfoDialog;
588         }
589
590         config_info->present ();
591 }
592