X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FRenderPreview.cpp;h=92363d435d2a6e111e341d09b5b715d38072533c;hb=3d4076b598deb18660e50ec9c327efc3b15f15d0;hp=c9086d5282a28a98196699896a5eb460250fa69d;hpb=86ea78391e810d98e549039c15f650384e2f2058;p=lyx.git diff --git a/src/insets/RenderPreview.cpp b/src/insets/RenderPreview.cpp index c9086d5282..92363d435d 100644 --- a/src/insets/RenderPreview.cpp +++ b/src/insets/RenderPreview.cpp @@ -13,6 +13,7 @@ #include "insets/RenderPreview.h" #include "insets/Inset.h" +#include "Buffer.h" #include "BufferView.h" #include "Dimension.h" #include "LyX.h" @@ -24,14 +25,13 @@ #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 +#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(); }