]> git.lyx.org Git - lyx.git/blobdiff - src/exporter.C
more cursor dispatch
[lyx.git] / src / exporter.C
index 63af5855fc3d1a1d2006c52821894e5a3172043b..a58c23e6a1cf4369f9fb64d9a6fb59998ae05ebe 100644 (file)
 
 #include "buffer.h"
 #include "buffer_funcs.h"
+#include "bufferparams.h"
 #include "converter.h"
 #include "format.h"
 #include "gettext.h"
-#include "latexrunparams.h"
 #include "lyxrc.h"
-
+#include "output_plaintext.h"
+#include "outputparams.h"
 #include "frontends/Alert.h"
 
 #include "support/filetools.h"
 
-using namespace lyx::support;
+using lyx::support::AddName;
+using lyx::support::bformat;
+using lyx::support::ChangeExtension;
+using lyx::support::contains;
+using lyx::support::MakeDisplayPath;
 
 using std::find;
-
+using std::string;
 using std::vector;
 
 
@@ -42,7 +47,7 @@ namespace {
 vector<string> const Backends(Buffer const & buffer)
 {
        vector<string> v;
-       if (buffer.params.getLyXTextClass().isTeXClassAvailable())
+       if (buffer.params().getLyXTextClass().isTeXClassAvailable())
                v.push_back(BufferFormat(buffer));
        v.push_back("text");
        return v;
@@ -55,8 +60,9 @@ bool Exporter::Export(Buffer * buffer, string const & format,
                      bool put_in_tempdir, string & result_file)
 {
        string backend_format;
-       LatexRunParams runparams;
-       runparams.flavor = LatexRunParams::LATEX;
+       OutputParams runparams;
+       runparams.flavor = OutputParams::LATEX;
+       runparams.linelen = lyxrc.ascii_linelen;
        vector<string> backends = Backends(*buffer);
        if (find(backends.begin(), backends.end(), format) == backends.end()) {
                for (vector<string>::const_iterator it = backends.begin();
@@ -64,8 +70,7 @@ bool Exporter::Export(Buffer * buffer, string const & format,
                        Graph::EdgePath p =
                                converters.getPath(*it, format);
                        if (!p.empty()) {
-                               if (converters.usePdflatex(p))
-                                       runparams.flavor = LatexRunParams::PDFLATEX;
+                               runparams.flavor = converters.getFlavor(p);
                                backend_format = *it;
                                break;
                        }
@@ -80,20 +85,24 @@ bool Exporter::Export(Buffer * buffer, string const & format,
                backend_format = format;
 
        string filename = buffer->getLatexName(false);
-       if (!buffer->tmppath.empty())
-               filename = AddName(buffer->tmppath, filename);
+       if (!buffer->temppath().empty())
+               filename = AddName(buffer->temppath(), filename);
        filename = ChangeExtension(filename,
                                   formats.extension(backend_format));
 
        // Ascii backend
        if (backend_format == "text")
-               buffer->writeFileAscii(filename, lyxrc.ascii_linelen);
+               writeFileAscii(*buffer, filename, runparams);
        // Linuxdoc backend
-       else if (buffer->isLinuxDoc())
-               buffer->makeLinuxDocFile(filename, !put_in_tempdir);
+       else if (buffer->isLinuxDoc()) {
+               runparams.nice = !put_in_tempdir;
+               buffer->makeLinuxDocFile(filename, runparams);
+       }
        // Docbook backend
-       else if (buffer->isDocBook())
-               buffer->makeDocBookFile(filename, !put_in_tempdir);
+       else if (buffer->isDocBook()) {
+               runparams.nice = !put_in_tempdir;
+               buffer->makeDocBookFile(filename, runparams);
+       }
        // LaTeX backend
        else if (backend_format == format) {
                runparams.nice = true;