]> git.lyx.org Git - lyx.git/blobdiff - src/converter.C
"Inter-word Space"
[lyx.git] / src / converter.C
index 3577adb9c401cf6f433bff354323879827d83df3..cd8a7ae10e673916274bdde8cc0433cb67c18da6 100644 (file)
@@ -16,6 +16,7 @@
 #include "lyxrc.h"
 #include "buffer.h"
 #include "bufferview_funcs.h"
+#include "errorlist.h"
 #include "LaTeX.h"
 #include "lyx_cb.h" // ShowMessage()
 #include "gettext.h"
@@ -255,6 +256,9 @@ bool Converters::convert(Buffer const * buffer,
        if (edgepath.empty()) {
                return false;
        }
+       LatexRunParams runparams;
+       runparams.flavor = usePdflatex(edgepath) ?
+               LatexRunParams::PDFLATEX : LatexRunParams::LATEX;
 
        string path = OnlyPath(from_file);
        Path p(path);
@@ -291,7 +295,7 @@ bool Converters::convert(Buffer const * buffer,
                        run_latex = true;
                        string command = subst(conv.command, token_from, "");
                        lyxerr[Debug::FILES] << "Running " << command << endl;
-                       if (!runLaTeX(buffer, command))
+                       if (!runLaTeX(buffer, command, runparams))
                                return false;
                } else {
                        if (conv.need_aux && !run_latex
@@ -299,7 +303,7 @@ bool Converters::convert(Buffer const * buffer,
                                lyxerr[Debug::FILES]
                                        << "Running " << latex_command_
                                        << " to update aux file"<<  endl;
-                               runLaTeX(buffer, latex_command_);
+                               runLaTeX(buffer, latex_command_, runparams);
                        }
 
                        string infile2 = (conv.original_dir)
@@ -459,24 +463,31 @@ bool Converters::formatIsUsed(string const & format)
 }
 
 
-bool Converters::scanLog(Buffer const * buffer, string const & command,
+bool Converters::scanLog(Buffer const * buffer, string const & /*command*/,
                         string const & filename)
 {
        if (!buffer)
                return false;
 
        BufferView * bv = buffer->getUser();
-       LaTeX latex("", filename, "");
+       LatexRunParams runparams;
+       runparams.flavor = LatexRunParams::LATEX;
+       LaTeX latex("", runparams, filename, "");
        TeXErrors terr;
        int result = latex.scanLogFile(terr);
-       if (bv && (result & LaTeX::ERRORS))
-               bv->showErrorList();
+
+       if (bv && (result & LaTeX::ERRORS)) {
+               ErrorList el(*buffer, terr);
+               bv->setErrorList(el);
+               bv->showErrorList(_("LaTeX"));
+       }
 
        return true;
 }
 
 
-bool Converters::runLaTeX(Buffer const * buffer, string const & command)
+bool Converters::runLaTeX(Buffer const * buffer, string const & command,
+                         LatexRunParams const & runparams)
 {
        if (!buffer)
                return false;
@@ -491,14 +502,16 @@ bool Converters::runLaTeX(Buffer const * buffer, string const & command)
 
        // do the LaTeX run(s)
        string name = buffer->getLatexName();
-       LaTeX latex(command, name, buffer->filePath());
+       LaTeX latex(command, runparams, name, buffer->filePath());
        TeXErrors terr;
        int result = latex.run(terr,
                               bv ? &bv->owner()->getLyXFunc() : 0);
 
        if (bv && (result & LaTeX::ERRORS)) {
                //show errors
-               bv->showErrorList();
+               ErrorList el(*buffer, terr);
+               bv->setErrorList(el);
+               bv->showErrorList(_("LaTeX"));
        }
 
        // check return value from latex.run().