2001-08-29 00:37:04 +00:00
|
|
|
/**
|
|
|
|
* \file QLog.C
|
|
|
|
* Copyright 2001 the LyX Team
|
|
|
|
* Read the file COPYING
|
|
|
|
*
|
|
|
|
* \author John Levon <moz@compsoc.man.ac.uk>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <config.h>
|
2002-03-21 21:21:28 +00:00
|
|
|
#include <fstream>
|
2001-08-29 00:37:04 +00:00
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
#pragma implementation
|
|
|
|
#endif
|
|
|
|
|
2002-06-19 03:38:44 +00:00
|
|
|
#include "LyXView.h"
|
|
|
|
#include "gettext.h"
|
|
|
|
#include "ControlLog.h"
|
|
|
|
|
2001-08-29 00:37:04 +00:00
|
|
|
#include <qtextview.h>
|
|
|
|
#include <qpushbutton.h>
|
2002-03-21 21:21:28 +00:00
|
|
|
|
2001-08-29 00:37:04 +00:00
|
|
|
#include "QLogDialog.h"
|
|
|
|
#include "QLog.h"
|
|
|
|
#include "Qt2BC.h"
|
|
|
|
|
2001-08-29 15:37:39 +00:00
|
|
|
using std::ifstream;
|
|
|
|
using std::getline;
|
|
|
|
|
2001-08-29 00:37:04 +00:00
|
|
|
typedef Qt2CB<ControlLog, Qt2DB<QLogDialog> > base_class;
|
|
|
|
|
2002-08-12 14:28:43 +00:00
|
|
|
QLog::QLog()
|
|
|
|
: base_class(_("Log"))
|
2001-08-29 00:37:04 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void QLog::build_dialog()
|
|
|
|
{
|
|
|
|
dialog_.reset(new QLogDialog(this));
|
|
|
|
|
|
|
|
bc().setCancel(dialog_->closePB);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void QLog::update_contents()
|
|
|
|
{
|
|
|
|
std::pair<Buffer::LogType, string> const logfile = controller().logfile();
|
|
|
|
|
|
|
|
if (logfile.first == Buffer::buildlog)
|
|
|
|
dialog_->setCaption(_("Build log"));
|
|
|
|
else
|
|
|
|
dialog_->setCaption(_("LaTeX log"));
|
|
|
|
|
|
|
|
dialog_->logTV->setText("");
|
|
|
|
|
|
|
|
ifstream ifstr(logfile.second.c_str());
|
|
|
|
if (!ifstr) {
|
|
|
|
if (logfile.first == Buffer::buildlog)
|
|
|
|
dialog_->logTV->setText(_("No build log file found"));
|
|
|
|
else
|
|
|
|
dialog_->logTV->setText(_("No LaTeX log file found"));
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
string text;
|
|
|
|
string line;
|
|
|
|
|
|
|
|
while (getline(ifstr, line))
|
|
|
|
text += line + "\n";
|
2002-03-21 21:21:28 +00:00
|
|
|
|
2001-08-29 00:37:04 +00:00
|
|
|
dialog_->logTV->setText(text.c_str());
|
|
|
|
}
|