add binfolder path relative filters, fix gbrp color model, vwdw timebar tweaks, title...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / aboutprefs.C
index 3f3a0abe7f53289674b654e9c32f3247ae32999e..d07ce4deac0d5ee77e97dab2596e7afd6cf65f4c 100644 (file)
 
 #include "aboutprefs.h"
 #include "bcsignals.h"
-#include "file.inc"
+#include "file.h"
 #include "language.h"
-#include "libzmpeg3.h"
 #include "mwindow.h"
 #include "theme.h"
 #include "vframe.h"
 #include "versioninfo.h"
 
-
+#ifndef COMPILEDATE
+#define COMPILEDATE "built: " __DATE__ " " __TIME__
+#endif
+const char *AboutPrefs::build_timestamp = COMPILEDATE;
 
 AboutPrefs::AboutPrefs(MWindow *mwindow, PreferencesWindow *pwindow)
  : PreferencesDialog(mwindow, pwindow)
@@ -43,6 +45,7 @@ AboutPrefs::~AboutPrefs()
 
 void AboutPrefs::create_objects()
 {
+       lock_window("AboutPrefs::create_objects");
        int x, y;
 
 
@@ -71,29 +74,32 @@ void AboutPrefs::create_objects()
        );
        y += get_text_height(MEDIUMFONT) * 3;
 
-//     char versions[BCTEXTLEN];
-//     sprintf(versions,
-// _("Libmpeg3 version %d.%d.%d\n"),
-// mpeg3_major(),
-// mpeg3_minor(),
-// mpeg3_release());
-//     draw_text(x, y, versions);
-
 
-       char exe_path[BCTEXTLEN], msg_path[BCTEXTLEN];
-       get_exe_path(exe_path);
-       snprintf(msg_path, sizeof(msg_path), "%s/msg.txt", exe_path);
-       FILE *fp = fopen(msg_path, "r");
+       const char *cfg_path = File::get_cindat_path();
+       char msg_path[BCTEXTLEN];
+       FILE *fp = 0;
+       if( BC_Resources::language[0] ) {
+               snprintf(msg_path, sizeof(msg_path), "%s/msg/%s",
+                       cfg_path, BC_Resources::language);
+               fp = fopen(msg_path, "r");
+       }
+       if( !fp ) {
+               snprintf(msg_path, sizeof(msg_path), "%s/msg/txt",
+                       cfg_path);
+               fp = fopen(msg_path, "r");
+       }
        if( fp ) {
                set_font(LARGEFONT);
                draw_text(x, y, _("About:"));
                y += get_text_height(LARGEFONT);
                char msg[BCTEXTLEN];
-               while( fgets(msg, sizeof(msg), fp) )
+               while( fgets(msg, sizeof(msg), fp) ) {
+                       int len = strlen(msg);
+                       if( len > 0 && msg[len-1] == '\n' ) msg[len-1] = 0;
                        about.append(new BC_ListBoxItem(msg));
-
+               }
                BC_ListBox *listbox;
-               add_subwindow(listbox = new BC_ListBox(x, y, 300, 280,
+               add_subwindow(listbox = new BC_ListBox(x, y, 450, 280,
                        LISTBOX_TEXT, &about, 0, 0, 1));
                y += listbox->get_h() + get_text_height(LARGEFONT) + 10;
        }
@@ -111,19 +117,16 @@ void AboutPrefs::create_objects()
 "This program is free software; you can redistribute it and/or modify it under the terms\n"
 "of the GNU General Public License as published by the Free Software Foundation; either version\n"
 "2 of the License, or (at your option) any later version.\n"
-"\n"
+"  This software uses libraries from the FFmpeg project under the LGPLv2.1.\n"
 "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n"
 "without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n"
 "PURPOSE.  See the GNU General Public License for more details.\n"));
        draw_text(x, y, license3);
        y += get_text_height(MEDIUMFONT, license3);
 
-#ifndef COMPILEDATE
-#define COMPILEDATE "built: " __DATE__ " " __TIME__
-#endif
-       draw_text(x, y, COMPILEDATE);
+       draw_text(x, y, build_timestamp);
 #if defined(REPOMAINTXT)
-       y += get_text_height(MEDIUMFONT, COMPILEDATE);
+       y += get_text_height(MEDIUMFONT, build_timestamp);
        draw_text(x, y, REPOMAINTXT);
 #endif
 
@@ -145,6 +148,7 @@ void AboutPrefs::create_objects()
 
        flash();
        flush();
+       unlock_window();
 }