X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FRenderPreview.cpp;h=e985d290a27391427a44df676147d0f8b4c56b95;hb=9c0281126e5b819a6c10afa1bb585b76cdc4dca2;hp=5a51d793b213900b6bf76fd1fbdd6aa8b0fe6ffe;hpb=e48fb0b66182f401d882fd88e578b4a66f5340dc;p=lyx.git diff --git a/src/insets/RenderPreview.cpp b/src/insets/RenderPreview.cpp index 5a51d793b2..e985d290a2 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,7 +25,6 @@ #include "graphics/PreviewImage.h" #include "graphics/PreviewLoader.h" -#include "graphics/Previews.h" #include "support/FileName.h" #include "support/gettext.h" @@ -39,9 +39,33 @@ using namespace lyx::support; namespace lyx { -LyXRC_PreviewStatus RenderPreview::status() +bool RenderPreview::previewText() { - return graphics::Previews::status(); + // Use a switch to trigger a warning if the enum is changed. + switch(lyxrc.preview) { + case LyXRC::PREVIEW_ON: + case LyXRC::PREVIEW_NO_MATH: + return true; + case LyXRC::PREVIEW_OFF: + break; + } + + return false; +} + + +bool RenderPreview::previewMath() +{ + // Use a switch to trigger a warning if the enum is changed. + switch(lyxrc.preview) { + case LyXRC::PREVIEW_ON: + return true; + case LyXRC::PREVIEW_NO_MATH: + case LyXRC::PREVIEW_OFF: + break; + } + + return false; } @@ -53,7 +77,7 @@ RenderPreview::RenderPreview(Inset const * inset) RenderPreview::RenderPreview(RenderPreview const & other, Inset const * inset) : RenderBase(other), - boost::signals::trackable(), + boost::signals2::trackable(), snippet_(other.snippet_), parent_(inset) {} @@ -74,19 +98,16 @@ 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(); + // please coverity (probably worth the check anyway) + if (!loader) + return docstring(); + graphics::PreviewLoader::Status const status = loader->status(snippet); docstring message; switch (status) { @@ -111,14 +132,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 +166,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()); @@ -153,7 +175,6 @@ void RenderPreview::draw(PainterInfo & pi, int x, int y) const if (image) { pi.pain.image(x, y - dim_.asc, dim_.wid, dim_.height(), *image); - } else { int const offset = Inset::TEXT_TO_INSET_OFFSET; @@ -172,16 +193,19 @@ void RenderPreview::draw(PainterInfo & pi, int x, int y) const y - theFontMetrics(font).maxAscent() - 4, stat, font); } + pi.change_.paintCue(pi, x, y - dim_.asc, + x + dim_.width(), y - dim_.asc + dim_.height()); } void RenderPreview::startLoading(Buffer const & buffer, bool forexport) const { - if (!forexport && (status() == LyXRC::PREVIEW_OFF || snippet_.empty())) + if (!forexport && (lyxrc.preview == LyXRC::PREVIEW_OFF || snippet_.empty())) return; - graphics::PreviewLoader const & loader = getPreviewLoader(buffer); - loader.startLoading(forexport); + graphics::PreviewLoader * loader = buffer.loader(); + LASSERT(loader, return); + loader->startLoading(forexport); } @@ -189,11 +213,12 @@ void RenderPreview::addPreview(docstring const & latex_snippet, Buffer const & buffer, bool ignore_lyxrc) { - if (status() == LyXRC::PREVIEW_OFF && !ignore_lyxrc) + if (lyxrc.preview == LyXRC::PREVIEW_OFF && !ignore_lyxrc) return; - graphics::PreviewLoader & loader = getPreviewLoader(buffer); - addPreview(latex_snippet, loader, ignore_lyxrc); + graphics::PreviewLoader * loader = buffer.loader(); + LASSERT(loader, return); + addPreview(latex_snippet, *loader, ignore_lyxrc); } @@ -201,7 +226,7 @@ void RenderPreview::addPreview(docstring const & latex_snippet, graphics::PreviewLoader & ploader, bool ignore_lyxrc) { - if (status() == LyXRC::PREVIEW_OFF && !ignore_lyxrc) + if (lyxrc.preview == LyXRC::PREVIEW_OFF && !ignore_lyxrc) return; // FIXME UNICODE @@ -230,8 +255,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(); } @@ -263,7 +289,7 @@ void RenderMonitoredPreview::draw(PainterInfo & pi, int x, int y) const } -boost::signals::connection +boost::signals2::connection RenderMonitoredPreview::fileChanged(slot_type const & slot) { return monitor_.connect(slot);