3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
10 * Full author contact details are available in file CREDITS.
15 #include "FormAboutlyx.h"
17 #include "ControlAboutlyx.h"
18 #include "forms/form_aboutlyx.h"
19 #include "xforms_helpers.h"
22 #include "lyx_forms.h"
26 using std::ostringstream;
33 #if FL_VERSION == 0 || (FL_REVISION == 0 && FL_FIXLEVEL < 2)
34 bool const scalableTabfolders = false;
36 bool const scalableTabfolders = true;
42 typedef FormController<ControlAboutlyx, FormView<FD_aboutlyx> > base_class;
44 FormAboutlyx::FormAboutlyx(Dialog & parent)
45 : base_class(parent, _("About LyX"), scalableTabfolders)
49 void FormAboutlyx::build()
51 dialog_.reset(build_aboutlyx(this));
54 version_.reset(build_aboutlyx_version(this));
57 vs << controller().getVersion()
58 << '\n' << lyx_version_info;
60 fl_add_browser_line(version_->browser_version, vs.str().c_str());
63 credits_.reset(build_aboutlyx_credits(this));
66 controller().getCredits(crs);
68 std::string const credits_text =
69 formatted(crs.str().c_str(),
70 credits_->browser_credits->w - 15);
71 fl_add_browser_line(credits_->browser_credits, credits_text.c_str());
74 license_.reset(build_aboutlyx_license(this));
75 int const width = license_->browser_license->w - 10;
78 cs << controller().getCopyright() << "\n\n"
79 << formatted(controller().getLicense(), width) << "\n\n"
80 << formatted(controller().getDisclaimer(), width);
82 fl_add_browser_line(license_->browser_license, cs.str().c_str());
84 // Enable the tabfolder to be rescaled correctly.
85 if (scalableTabfolders)
86 fl_set_tabfolder_autofit(dialog_->tabfolder, FL_FIT);
89 fl_addto_tabfolder(dialog_->tabfolder, _("Version").c_str(),
91 fl_addto_tabfolder(dialog_->tabfolder, _("Credits").c_str(),
93 fl_addto_tabfolder(dialog_->tabfolder, _("License").c_str(),
96 // Manage the cancel/close button
97 bcview().setCancel(dialog_->button_close);
100 } // namespace frontend