]> git.lyx.org Git - lyx.git/blobdiff - src/insets/RenderPreview.cpp
Natbib authoryear uses (Ref1; Ref2) by default.
[lyx.git] / src / insets / RenderPreview.cpp
index c9086d5282a28a98196699896a5eb460250fa69d..92363d435d2a6e111e341d09b5b715d38072533c 100644 (file)
@@ -13,6 +13,7 @@
 #include "insets/RenderPreview.h"
 #include "insets/Inset.h"
 
+#include "Buffer.h"
 #include "BufferView.h"
 #include "Dimension.h"
 #include "LyX.h"
 
 #include "graphics/PreviewImage.h"
 #include "graphics/PreviewLoader.h"
-#include "graphics/Previews.h"
 
 #include "support/FileName.h"
 #include "support/gettext.h"
 #include "support/lassert.h"
 #include "support/lstrings.h"
 
-#include <boost/bind.hpp>
+#include "support/bind.h"
 
 using namespace std;
 using namespace lyx::support;
@@ -41,7 +41,7 @@ namespace lyx {
 
 LyXRC_PreviewStatus RenderPreview::status()
 {
-       return graphics::Previews::status();
+       return lyxrc.preview;
 }
 
 
@@ -74,19 +74,13 @@ RenderBase * RenderPreview::clone(Inset const * inset) const
 
 namespace {
 
-graphics::PreviewLoader & getPreviewLoader(Buffer const & buffer)
-{
-       return thePreviews().loader(buffer);
-}
-
-
 docstring const statusMessage(BufferView const * bv, string const & snippet)
 {
-       LASSERT(bv, /**/);
+       LASSERT(bv, return docstring());
 
        Buffer const & buffer = bv->buffer();
-       graphics::PreviewLoader const & loader = getPreviewLoader(buffer);
-       graphics::PreviewLoader::Status const status = loader.status(snippet);
+       graphics::PreviewLoader const * loader = buffer.loader();
+       graphics::PreviewLoader::Status const status = loader->status(snippet);
 
        docstring message;
        switch (status) {
@@ -111,14 +105,15 @@ docstring const statusMessage(BufferView const * bv, string const & snippet)
 graphics::PreviewImage const *
 RenderPreview::getPreviewImage(Buffer const & buffer) const
 {
-       graphics::PreviewLoader const & loader = getPreviewLoader(buffer);
-       return loader.preview(snippet_);
+       graphics::PreviewLoader const * loader = buffer.loader();
+       LASSERT(loader, return 0);
+       return loader->preview(snippet_);
 }
 
 
 void RenderPreview::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       LASSERT(mi.base.bv, /**/);
+       LBUFERR(mi.base.bv);
 
        graphics::PreviewImage const * const pimage =
                getPreviewImage(mi.base.bv->buffer());
@@ -144,7 +139,7 @@ void RenderPreview::metrics(MetricsInfo & mi, Dimension & dim) const
 
 void RenderPreview::draw(PainterInfo & pi, int x, int y) const
 {
-       LASSERT(pi.base.bv, /**/);
+       LBUFERR(pi.base.bv);
 
        graphics::PreviewImage const * const pimage =
                getPreviewImage(pi.base.bv->buffer());
@@ -175,31 +170,35 @@ void RenderPreview::draw(PainterInfo & pi, int x, int y) const
 }
 
 
-void RenderPreview::startLoading(Buffer const & buffer) const
+void RenderPreview::startLoading(Buffer const & buffer, bool forexport) const
 {
-       if (status() == LyXRC::PREVIEW_OFF || snippet_.empty())
+       if (!forexport && (status() == LyXRC::PREVIEW_OFF || snippet_.empty()))
                return;
 
-       graphics::PreviewLoader const & loader = getPreviewLoader(buffer);
-       loader.startLoading();
+       graphics::PreviewLoader * loader = buffer.loader();
+       LASSERT(loader, return);
+       loader->startLoading(forexport);
 }
 
 
 void RenderPreview::addPreview(docstring const & latex_snippet,
-                              Buffer const & buffer)
+                               Buffer const & buffer, 
+                               bool ignore_lyxrc)
 {
-       if (status() == LyXRC::PREVIEW_OFF)
+       if (status() == LyXRC::PREVIEW_OFF && !ignore_lyxrc)
                return;
 
-       graphics::PreviewLoader & loader = getPreviewLoader(buffer);
-       addPreview(latex_snippet, loader);
+       graphics::PreviewLoader * loader = buffer.loader();
+       LASSERT(loader, return);
+       addPreview(latex_snippet, *loader, ignore_lyxrc);
 }
 
 
 void RenderPreview::addPreview(docstring const & latex_snippet,
-                              graphics::PreviewLoader & ploader)
+                               graphics::PreviewLoader & ploader, 
+                               bool ignore_lyxrc)
 {
-       if (status() == LyXRC::PREVIEW_OFF)
+       if (status() == LyXRC::PREVIEW_OFF && !ignore_lyxrc)
                return;
 
        // FIXME UNICODE
@@ -216,7 +215,7 @@ void RenderPreview::addPreview(docstring const & latex_snippet,
        // is ready for loading.
        if (!ploader_connection_.connected()) {
                ploader_connection_ = ploader.connect(
-                       boost::bind(&RenderPreview::imageReady, this, _1));
+                       bind(&RenderPreview::imageReady, this, _1));
        }
 
        ploader.add(snippet_);
@@ -228,8 +227,9 @@ void RenderPreview::removePreview(Buffer const & buffer)
        if (snippet_.empty())
                return;
 
-       graphics::PreviewLoader & loader = getPreviewLoader(buffer);
-       loader.remove(snippet_);
+       graphics::PreviewLoader * loader = buffer.loader();
+       LASSERT(loader, return);
+       loader->remove(snippet_);
        snippet_.erase();
 }