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.
16 #include "FormAboutlyx.h"
18 #include "ControlAboutlyx.h"
19 #include "forms/form_aboutlyx.h"
20 #include "xforms_helpers.h"
23 #include "lyx_forms.h"
27 using std::ostringstream;
34 #if FL_VERSION == 0 || (FL_REVISION == 0 && FL_FIXLEVEL < 2)
35 bool const scalableTabfolders = false;
37 bool const scalableTabfolders = true;
43 typedef FormController<ControlAboutlyx, FormView<FD_aboutlyx> > base_class;
45 FormAboutlyx::FormAboutlyx(Dialog & parent)
46 : base_class(parent, _("About LyX"), scalableTabfolders)
50 void FormAboutlyx::build()
52 dialog_.reset(build_aboutlyx(this));
55 version_.reset(build_aboutlyx_version(this));
58 vs << controller().getVersion()
59 << '\n' << lyx_version_info;
61 fl_add_browser_line(version_->browser_version, vs.str().c_str());
64 credits_.reset(build_aboutlyx_credits(this));
67 controller().getCredits(crs);
69 fl_add_browser_line(credits_->browser_credits, crs.str().c_str());
72 license_.reset(build_aboutlyx_license(this));
73 int const width = license_->browser_license->w - 10;
76 cs << controller().getCopyright() << "\n\n"
77 << formatted(controller().getLicense(), width) << "\n\n"
78 << formatted(controller().getDisclaimer(), width);
80 fl_add_browser_line(license_->browser_license, cs.str().c_str());
82 // Enable the tabfolder to be rescaled correctly.
83 if (scalableTabfolders)
84 fl_set_tabfolder_autofit(dialog_->tabfolder, FL_FIT);
87 fl_addto_tabfolder(dialog_->tabfolder, _("Version").c_str(),
89 fl_addto_tabfolder(dialog_->tabfolder, _("Credits").c_str(),
91 fl_addto_tabfolder(dialog_->tabfolder, _("License").c_str(),
94 // Manage the cancel/close button
95 bcview().setCancel(dialog_->button_close);
98 } // namespace frontend