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 fl_add_browser_line(credits_->browser_credits, crs.str().c_str());
71 license_.reset(build_aboutlyx_license(this));
72 int const width = license_->browser_license->w - 10;
75 cs << controller().getCopyright() << "\n\n"
76 << formatted(controller().getLicense(), width) << "\n\n"
77 << formatted(controller().getDisclaimer(), width);
79 fl_add_browser_line(license_->browser_license, cs.str().c_str());
81 // Enable the tabfolder to be rescaled correctly.
82 if (scalableTabfolders)
83 fl_set_tabfolder_autofit(dialog_->tabfolder, FL_FIT);
86 fl_addto_tabfolder(dialog_->tabfolder, _("Version").c_str(),
88 fl_addto_tabfolder(dialog_->tabfolder, _("Credits").c_str(),
90 fl_addto_tabfolder(dialog_->tabfolder, _("License").c_str(),
93 // Manage the cancel/close button
94 bcview().setCancel(dialog_->button_close);
97 } // namespace frontend