4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #include "aboutprefs.h"
23 #include "bcsignals.h"
29 #include "versioninfo.h"
32 #define COMPILEDATE "built: " __DATE__ " " __TIME__
34 const char *AboutPrefs::build_timestamp = COMPILEDATE;
36 AboutPrefs::AboutPrefs(MWindow *mwindow, PreferencesWindow *pwindow)
37 : PreferencesDialog(mwindow, pwindow)
41 AboutPrefs::~AboutPrefs()
43 about.remove_all_objects();
46 void AboutPrefs::create_objects()
48 lock_window("AboutPrefs::create_objects");
50 BC_Resources *resources = BC_WindowBase::get_resources();
52 // add_subwindow(new BC_Title(mwindow->theme->preferencestitle_x,
53 // mwindow->theme->preferencestitle_y,
56 // resources->text_default));
58 x = mwindow->theme->preferencesoptions_x;
59 y = mwindow->theme->preferencesoptions_y +
60 get_text_height(LARGEFONT);
63 set_color(resources->text_default);
64 draw_text(x, y, PROGRAM_NAME " " CINELERRA_VERSION);
65 y += 2*get_text_height(MEDIUMFONT);
68 draw_text(x, y, COPYRIGHTTEXT1
69 #if defined(COPYRIGHTTEXT2)
73 y += get_text_height(MEDIUMFONT) * 3;
76 const char *cfg_path = File::get_cindat_path();
77 char msg_path[BCTEXTLEN];
79 if( BC_Resources::language[0] ) {
80 snprintf(msg_path, sizeof(msg_path), "%s/msg/%s",
81 cfg_path, BC_Resources::language);
82 fp = fopen(msg_path, "r");
85 snprintf(msg_path, sizeof(msg_path), "%s/msg/txt",
87 fp = fopen(msg_path, "r");
91 draw_text(x, y, _("About:"));
92 y += get_text_height(LARGEFONT);
94 while( fgets(msg, sizeof(msg), fp) ) {
95 int len = strlen(msg);
96 if( len > 0 && msg[len-1] == '\n' ) msg[len-1] = 0;
97 about.append(new BC_ListBoxItem(msg));
100 add_subwindow(listbox = new BC_ListBox(x, y, xS(450), yS(280),
101 LISTBOX_TEXT, &about, 0, 0, 1));
102 y += listbox->get_h() + get_text_height(LARGEFONT) + yS(10);
105 y += yS(300) + get_text_height(LARGEFONT) + yS(10);
108 set_color(resources->text_default);
109 draw_text(x, y, _("License:"));
110 y += get_text_height(LARGEFONT);
111 set_font(MEDIUMFONT);
113 char license3[BCTEXTLEN];
115 "This program is free software; you can redistribute it and/or modify it under the terms\n"
116 "of the GNU General Public License as published by the Free Software Foundation; either version\n"
117 "2 of the License, or (at your option) any later version.\n"
118 " This software uses libraries from the FFmpeg project under the LGPLv2.1.\n"
119 "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n"
120 "without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n"
121 "PURPOSE. See the GNU General Public License for more details.\n"));
122 draw_text(x, y, license3);
123 y += get_text_height(MEDIUMFONT, license3);
125 draw_text(x, y, build_timestamp);
126 #if defined(REPOMAINTXT)
127 y += get_text_height(MEDIUMFONT, build_timestamp);
128 draw_text(x, y, REPOMAINTXT);
131 x = get_w() - mwindow->theme->about_bg->get_w() - xS(10);
132 y = mwindow->theme->preferencesoptions_y;
133 BC_Pixmap *temp_pixmap = new BC_Pixmap(this,
134 mwindow->theme->about_bg,
136 draw_pixmap(temp_pixmap, x, y);
139 x += mwindow->theme->about_bg->get_w() + xS(10);
140 y += get_text_height(LARGEFONT) * 2;