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");
52 BC_Resources *resources = BC_WindowBase::get_resources();
54 // add_subwindow(new BC_Title(mwindow->theme->preferencestitle_x,
55 // mwindow->theme->preferencestitle_y,
58 // resources->text_default));
60 x = mwindow->theme->preferencesoptions_x;
61 y = mwindow->theme->preferencesoptions_y +
62 get_text_height(LARGEFONT);
65 set_color(resources->text_default);
66 draw_text(x, y, PROGRAM_NAME " " CINELERRA_VERSION);
67 y += 2*get_text_height(MEDIUMFONT);
70 draw_text(x, y, COPYRIGHTTEXT1
71 #if defined(COPYRIGHTTEXT2)
75 y += get_text_height(MEDIUMFONT) * 3;
78 const char *cfg_path = File::get_cindat_path();
79 char msg_path[BCTEXTLEN];
81 if( BC_Resources::language[0] ) {
82 snprintf(msg_path, sizeof(msg_path), "%s/msg/%s",
83 cfg_path, BC_Resources::language);
84 fp = fopen(msg_path, "r");
87 snprintf(msg_path, sizeof(msg_path), "%s/msg/txt",
89 fp = fopen(msg_path, "r");
93 draw_text(x, y, _("About:"));
94 y += get_text_height(LARGEFONT);
96 while( fgets(msg, sizeof(msg), fp) ) {
97 int len = strlen(msg);
98 if( len > 0 && msg[len-1] == '\n' ) msg[len-1] = 0;
99 about.append(new BC_ListBoxItem(msg));
102 add_subwindow(listbox = new BC_ListBox(x, y, 450, 280,
103 LISTBOX_TEXT, &about, 0, 0, 1));
104 y += listbox->get_h() + get_text_height(LARGEFONT) + 10;
107 y += 300 + get_text_height(LARGEFONT) + 10;
110 set_color(resources->text_default);
111 draw_text(x, y, _("License:"));
112 y += get_text_height(LARGEFONT);
113 set_font(MEDIUMFONT);
115 char license3[BCTEXTLEN];
117 "This program is free software; you can redistribute it and/or modify it under the terms\n"
118 "of the GNU General Public License as published by the Free Software Foundation; either version\n"
119 "2 of the License, or (at your option) any later version.\n"
120 " This software uses libraries from the FFmpeg project under the LGPLv2.1.\n"
121 "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n"
122 "without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n"
123 "PURPOSE. See the GNU General Public License for more details.\n"));
124 draw_text(x, y, license3);
125 y += get_text_height(MEDIUMFONT, license3);
127 draw_text(x, y, build_timestamp);
128 #if defined(REPOMAINTXT)
129 y += get_text_height(MEDIUMFONT, build_timestamp);
130 draw_text(x, y, REPOMAINTXT);
133 x = get_w() - mwindow->theme->about_bg->get_w() - 10;
134 y = mwindow->theme->preferencesoptions_y;
135 BC_Pixmap *temp_pixmap = new BC_Pixmap(this,
136 mwindow->theme->about_bg,
138 draw_pixmap(temp_pixmap,
145 x += mwindow->theme->about_bg->get_w() + 10;
146 y += get_text_height(LARGEFONT) * 2;