- filename = current_view->currentBuffer()->getFileName();
- if (!filename.empty()) {
- fname = SpaceLess(ChangeExtension(filename, ".log", true));
- bname = SpaceLess(ChangeExtension(filename, lyxrc->literate_extension + ".out", true));
- path = OnlyPath(filename);
- if (lyxrc->use_tempdir || (IsDirWriteable(path) < 1)) {
- path = current_view->currentBuffer()->tmppath;
+ filename = current_view->currentBuffer()->getFileName();
+ if (!filename.empty()) {
+ fname = SpaceLess(ChangeExtension(filename, ".log", true));
+ bname = SpaceLess(ChangeExtension(filename,
+ lyxrc->literate_extension + ".out", true));
+ path = OnlyPath(filename);
+ if (lyxrc->use_tempdir || (IsDirWriteable(path) < 1)) {
+ path = current_view->currentBuffer()->tmppath;
+ }
+ FileInfo f_fi(path + fname), b_fi(path + bname);
+ if (b_fi.exist())
+ if (!f_fi.exist()
+ || f_fi.getModificationTime() < b_fi.getModificationTime())
+ use_build = true; // If no Latex log or Build log is newer, show Build log
+ Path p(path); // path to LaTeX file
+ if (!fl_load_browser(fd_latex_log->browser_latexlog,
+ use_build ? bname.c_str() : fname.c_str()))
+ fl_add_browser_line(fd_latex_log->browser_latexlog,
+ _("Unable to show log file!"));
+ } else {
+ fl_add_browser_line(fd_latex_log->browser_latexlog,
+ _("NO LATEX LOG FILE!"));
+ }
+ if (fd_latex_log->LaTeXLog->visible) {
+ fl_raise_form(fd_latex_log->LaTeXLog);
+ } else {
+ fl_show_form(fd_latex_log->LaTeXLog,
+ FL_PLACE_MOUSE | FL_FREE_SIZE,FL_FULLBORDER,
+ use_build ? _("Build Program Log") : _("LaTeX Log"));
+ if (ow < 0) {
+ ow = fd_latex_log->LaTeXLog->w;
+ oh = fd_latex_log->LaTeXLog->h;
+ }
+ fl_set_form_minsize(fd_latex_log->LaTeXLog, ow, oh);