2001-08-29 00:37:04 +00:00
|
|
|
/**
|
|
|
|
* \file QLog.C
|
2002-09-24 13:57:09 +00:00
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
2001-08-29 00:37:04 +00:00
|
|
|
*
|
2002-10-20 01:48:28 +00:00
|
|
|
* \author John Levon
|
2002-09-24 13:57:09 +00:00
|
|
|
*
|
|
|
|
* Full author contact details are available in file CREDITS
|
2001-08-29 00:37:04 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
#pragma implementation
|
|
|
|
#endif
|
|
|
|
|
2002-06-19 03:38:44 +00:00
|
|
|
#include "LyXView.h"
|
|
|
|
#include "gettext.h"
|
|
|
|
#include "ControlLog.h"
|
2002-10-20 01:48:28 +00:00
|
|
|
#include "Lsstream.h"
|
2002-06-19 03:38:44 +00:00
|
|
|
|
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"
|
|
|
|
|
2002-10-20 01:48:28 +00:00
|
|
|
#include <fstream>
|
|
|
|
|
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()
|
|
|
|
{
|
2002-10-20 01:48:28 +00:00
|
|
|
std::pair<Buffer::LogType, string> const & logfile =
|
|
|
|
controller().logfile();
|
2001-08-29 00:37:04 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2002-10-20 01:48:28 +00:00
|
|
|
ostringstream ost;
|
|
|
|
ost << ifstr.rdbuf();
|
2002-03-21 21:21:28 +00:00
|
|
|
|
2002-10-20 01:48:28 +00:00
|
|
|
dialog_->logTV->setText(ost.str().c_str());
|
2001-08-29 00:37:04 +00:00
|
|
|
}
|