-/* FormLog.C
- * (C) 2001 LyX Team
- * John Levon, moz@compsoc.man.ac.uk
+/**
+ * \file FormLog.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-#include FORMS_H_LOCATION
+#include "FormLog.h"
+#include "ControlLog.h"
+#include "forms/form_browser.h"
-#ifdef __GNUG__
-#pragma implementation
-#endif
+#include "xformsBC.h"
-#include "gettext.h"
-#include "FormLog.h"
-#include "form_browser.h"
-#include "LyXView.h"
-#include "Dialogs.h"
-#include "lyxrc.h"
-#include "buffer.h"
-
-#ifdef SIGC_CXX_NAMESPACES
-using SigC::slot;
-#endif
-
-FormLog::FormLog(LyXView * lv, Dialogs * d)
- : FormBrowser(lv, d, _("LaTeX Log"))
-{
- // let the dialog be shown
- // This is a permanent connection so we won't bother
- // storing a copy because we won't be disconnecting.
- d->showLogFile.connect(slot(this, &FormLog::show));
-}
+#include "lyx_forms.h"
+
+
+using std::string;
+
+
+FormLog::FormLog(Dialog & parent)
+ : FormController<ControlLog, FormBrowser>(parent, _("LaTeX Log"))
+{}
void FormLog::update()
{
- if (!dialog_.get() || !lv_->view()->available())
- return;
-
- std::pair<Buffer::LogType, string> const logfile
- = lv_->view()->buffer()->getLogName();
+ bool const buildlog = controller().logfile().first == Buffer::buildlog;
- fl_clear_browser(dialog_->browser);
+ string const title = buildlog ?
+ _("LyX: LaTeX Log") :
+ _("LyX: Literate Programming Build Log");
+ setTitle(title);
- if (logfile.first == Buffer::buildlog) {
- fl_set_form_title(dialog_->form, _("Build log"));
- if (!fl_load_browser(dialog_->browser, logfile.second.c_str()))
- fl_add_browser_line(dialog_->browser,
- _("No build log file found"));
- return;
+ fl_clear_browser(dialog_->browser);
+ int const valid = fl_load_browser(dialog_->browser,
+ controller().logfile().second.c_str());
+ if (!valid) {
+ string const error = buildlog ?
+ _("No LaTeX log file found.") :
+ _("No Literate Programming build log file found.");
+ fl_add_browser_line(dialog_->browser, error.c_str());
}
-
- fl_set_form_title(dialog_->form, _("LaTeX Log"));
- if (!fl_load_browser(dialog_->browser, logfile.second.c_str()))
- fl_add_browser_line(dialog_->browser,
- _("No LaTeX log file found"));
}