]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetexternal.C
insetcharstyle drawing cosmetics
[lyx.git] / src / insets / insetexternal.C
index 007100b8ea535771b0bb7ce816e5bbc6084b4893..b4548c62501c2d17680b1ce274221969e4645035 100644 (file)
@@ -22,6 +22,7 @@
 #include "cursor.h"
 #include "debug.h"
 #include "dispatchresult.h"
+#include "exporter.h"
 #include "funcrequest.h"
 #include "gettext.h"
 #include "LaTeXFeatures.h"
 #include "support/lyxlib.h"
 #include "support/tostr.h"
 #include "support/translator.h"
-#include "support/std_sstream.h"
 
 #include <boost/bind.hpp>
 
+#include <sstream>
 
 namespace support = lyx::support;
 namespace external = lyx::external;
@@ -449,8 +450,6 @@ void InsetExternal::priv_dispatch(LCursor & cur, FuncRequest & cmd)
                InsetExternalParams p;
                InsetExternalMailer::string2params(cmd.argument, buffer, p);
                setParams(p, buffer);
-#warning is this needed?
-               cur.bv().update();
                break;
        }
 
@@ -505,7 +504,7 @@ RenderType getRenderType(InsetExternalParams const & p)
                return RENDERBUTTON;
 
        if (p.display == external::PreviewDisplay) {
-               if (RenderPreview::activated())
+               if (RenderPreview::status() != LyXRC::PREVIEW_OFF)
                        return RENDERPREVIEW;
                return RENDERBUTTON;
        }
@@ -567,7 +566,9 @@ string const getScreenLabel(InsetExternalParams const & params,
        return external::doSubstitution(params, buffer, ptr->guiName);
 }
 
-void add_preview(RenderMonitoredPreview &, InsetExternal const &, Buffer const &);
+void add_preview_and_start_loading(RenderMonitoredPreview &,
+                                  InsetExternal const &,
+                                  Buffer const &);
 
 } // namespace anon
 
@@ -621,7 +622,7 @@ void InsetExternal::setParams(InsetExternalParams const & p,
 
                if (preview_ptr->monitoring())
                        preview_ptr->stopMonitoring();
-               add_preview(*preview_ptr, *this, buffer);
+               add_preview_and_start_loading(*preview_ptr, *this, buffer);
 
                break;
        }
@@ -640,8 +641,7 @@ void InsetExternal::fileChanged() const
 
        Buffer const & buffer = *buffer_ptr;
        ptr->removePreview(buffer);
-       add_preview(*ptr, *this, buffer);
-       ptr->startLoading(buffer);
+       add_preview_and_start_loading(*ptr, *this, buffer);
 }
 
 
@@ -688,32 +688,37 @@ int InsetExternal::latex(Buffer const & buf, ostream & os,
                        et.formats.find("PDFLaTeX");
                if (cit != et.formats.end())
                        return external::writeExternal(params_, "PDFLaTeX",
-                                            buf, os, external_in_tmpdir);
+                                                      buf, os,
+                                                      *(runparams.exportdata),
+                                                      external_in_tmpdir);
        }
-
-       return external::writeExternal(params_, "LaTeX",
-                                      buf, os, external_in_tmpdir);
+       return external::writeExternal(params_, "LaTeX", buf, os,
+                                      *(runparams.exportdata),
+                                      external_in_tmpdir);
 }
 
 
 int InsetExternal::plaintext(Buffer const & buf, ostream & os,
-                        OutputParams const &) const
+                        OutputParams const & runparams) const
 {
-       return external::writeExternal(params_, "Ascii", buf, os);
+       return external::writeExternal(params_, "Ascii", buf, os,
+                                      *(runparams.exportdata));
 }
 
 
 int InsetExternal::linuxdoc(Buffer const & buf, ostream & os,
-                           OutputParams const &) const
+                           OutputParams const & runparams) const
 {
-       return external::writeExternal(params_, "LinuxDoc", buf, os);
+       return external::writeExternal(params_, "LinuxDoc", buf, os,
+                                      *(runparams.exportdata));
 }
 
 
 int InsetExternal::docbook(Buffer const & buf, ostream & os,
-                          OutputParams const &) const
+                          OutputParams const & runparams) const
 {
-       return external::writeExternal(params_, "DocBook", buf, os);
+       return external::writeExternal(params_, "DocBook", buf, os,
+                                      *(runparams.exportdata));
 }
 
 
@@ -774,14 +779,18 @@ string const latex_string(InsetExternal const & inset, Buffer const & buffer)
 }
 
 
-void add_preview(RenderMonitoredPreview & renderer, InsetExternal const & inset,
-                Buffer const & buffer)
+void add_preview_and_start_loading(RenderMonitoredPreview & renderer,
+                                  InsetExternal const & inset,
+                                  Buffer const & buffer)
 {
        InsetExternalParams const & params = inset.params();
-       if (RenderPreview::activated() && preview_wanted(params)) {
+
+       if (RenderPreview::status() != LyXRC::PREVIEW_OFF &&
+           preview_wanted(params)) {
                renderer.setAbsFile(params.filename.absFilename());
                string const snippet = latex_string(inset, buffer);
                renderer.addPreview(snippet, buffer);
+               renderer.startLoading(buffer);
        }
 }