]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/FormAboutlyx.C
Introduce LFUN_PRINT.
[lyx.git] / src / frontends / xforms / FormAboutlyx.C
index 9b63cdac382cb914be68a9d573e843a031ea4fb1..963a5db4a23abd048eaa4a9f7777eff4616fdf49 100644 (file)
@@ -1,32 +1,46 @@
 /**
  * \file FormAboutlyx.C
- * Copyright 2001 The LyX Team.
- * See the file COPYING.
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author Edwin Leuven, leuven@fee.uva.nl
- * \author Angus Leeming, a.leeming@ic.ac.uk
+ * \author Edwin Leuven
+ * \author Angus Leeming
+ * \author Rob Lahaye
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
 
+#include "FormAboutlyx.h"
 #include "xformsBC.h"
 #include "ControlAboutlyx.h"
-#include "FormAboutlyx.h"
 #include "forms/form_aboutlyx.h"
 #include "xforms_helpers.h"
-#include FORMS_H_LOCATION
-#include "Lsstream.h"
+#include "support/std_sstream.h"
+#include "version.h"
+
+#include "lyx_forms.h"
+
+using std::ostringstream;
+
+
+namespace {
+
+#if FL_VERSION == 0 || (FL_REVISION == 0 && FL_FIXLEVEL < 2)
+bool const scalableTabfolders = false;
+#else
+bool const scalableTabfolders = true;
+#endif
 
-using std::getline;
+} // namespace anon
 
-typedef FormCB<ControlAboutlyx, FormDB<FD_aboutlyx> > base_class;
 
-FormAboutlyx::FormAboutlyx(ControlAboutlyx & c)
-       : base_class(c, _("About LyX"), false)
+typedef FormController<ControlAboutlyx, FormView<FD_aboutlyx> > base_class;
+
+FormAboutlyx::FormAboutlyx(Dialog & parent)
+       : base_class(parent, _("About LyX"), scalableTabfolders)
 {}
 
 
@@ -36,36 +50,44 @@ void FormAboutlyx::build()
 
        // create version tab
        version_.reset(build_aboutlyx_version(this));
-       fl_set_object_label(version_->text_version,
-                           controller().getVersion().c_str());
-       fl_set_object_label(version_->text_copyright,
-                           controller().getCopyright().c_str());
 
-       // create license and warranty tab
+       ostringstream vs;
+       vs << controller().getVersion()
+          << '\n' << lyx_version_info;
+
+       fl_add_browser_line(version_->browser_version, vs.str().c_str());
+
+       // create credits tab
+       credits_.reset(build_aboutlyx_credits(this));
+
+       ostringstream crs;
+       controller().getCredits(crs);
+
+       fl_add_browser_line(credits_->browser_credits, crs.str().c_str());
+
+       // create license tab
        license_.reset(build_aboutlyx_license(this));
+       int const width = license_->browser_license->w - 10;
 
-       string str = formatted(controller().getLicense(),
-                              license_->text_license->w-10);
-       fl_set_object_label(license_->text_license, str.c_str());
+       ostringstream cs;
+       cs << controller().getCopyright() << "\n\n"
+          << formatted(controller().getLicense(), width) << "\n\n"
+          << formatted(controller().getDisclaimer(), width);
 
-       str = formatted(controller().getDisclaimer(),
-                       license_->text_warranty->w-10);
-       fl_set_object_label(license_->text_warranty, str.c_str());
+       fl_add_browser_line(license_->browser_license, cs.str().c_str());
 
-       // create credits
-       credits_.reset(build_aboutlyx_credits(this));
-       stringstream ss;
-       fl_add_browser_line(credits_->browser_credits,
-                           controller().getCredits(ss).str().c_str());
+       // Enable the tabfolder to be rescaled correctly.
+       if (scalableTabfolders)
+               fl_set_tabfolder_autofit(dialog_->tabfolder, FL_FIT);
 
-       // stack tabs
-       fl_addto_tabfolder(dialog_->tabfolder,_("Copyright and Version"),
+       // Stack tabs
+       fl_addto_tabfolder(dialog_->tabfolder, _("Version").c_str(),
                           version_->form);
-       fl_addto_tabfolder(dialog_->tabfolder,_("License and Warranty"),
-                          license_->form);
-       fl_addto_tabfolder(dialog_->tabfolder,_("Credits"),
+       fl_addto_tabfolder(dialog_->tabfolder, _("Credits").c_str(),
                           credits_->form);
+       fl_addto_tabfolder(dialog_->tabfolder, _("License").c_str(),
+                          license_->form);
 
        // Manage the cancel/close button
-       bc().setCancel(dialog_->button_close);
+       bcview().setCancel(dialog_->button_close);
 }