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