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