X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Frender_preview.C;h=5badea260db3690bd1119f9f68fb81e19a8ced4d;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=d88289181d3ebc875c0e32f80ba7722f0fce4865;hpb=52bd213992aeedde743ca8d794cddfe17a6893b9;p=lyx.git diff --git a/src/insets/render_preview.C b/src/insets/render_preview.C index d88289181d..5badea260d 100644 --- a/src/insets/render_preview.C +++ b/src/insets/render_preview.C @@ -28,18 +28,19 @@ #include "graphics/PreviewLoader.h" #include "graphics/Previews.h" +#include "support/filename.h" #include "support/lstrings.h" #include -using lyx::docstring; + +namespace lyx { + +using support::FileName; using std::string; using std::auto_ptr; -namespace graphics = lyx::graphics; -namespace support = lyx::support; - LyXRC_PreviewStatus RenderPreview::status() { @@ -76,7 +77,7 @@ graphics::PreviewLoader & getPreviewLoader(Buffer const & buffer) } -string const statusMessage(BufferView const * bv, string const & snippet) +docstring const statusMessage(BufferView const * bv, string const & snippet) { BOOST_ASSERT(bv && bv->buffer()); @@ -98,8 +99,7 @@ string const statusMessage(BufferView const * bv, string const & snippet) break; } - // FIXME UNICODE - return lyx::to_utf8(message); + return message; } } // namespace anon @@ -113,7 +113,7 @@ RenderPreview::getPreviewImage(Buffer const & buffer) const } -void RenderPreview::metrics(MetricsInfo & mi, Dimension & dim) const +bool RenderPreview::metrics(MetricsInfo & mi, Dimension & dim) const { BOOST_ASSERT(mi.base.bv && mi.base.bv->buffer()); @@ -131,12 +131,13 @@ void RenderPreview::metrics(MetricsInfo & mi, Dimension & dim) const LyXFont font(mi.base.font); font.setFamily(LyXFont::SANS_FAMILY); font.setSize(LyXFont::SIZE_FOOTNOTE); - // FIXME UNICODE - docstring const stat = lyx::from_utf8(statusMessage(mi.base.bv, snippet_)); + docstring const stat = statusMessage(mi.base.bv, snippet_); dim.wid = 15 + theFontMetrics(font).width(stat); } + bool const changed = dim_ != dim; dim_ = dim; + return changed; } @@ -165,8 +166,7 @@ void RenderPreview::draw(PainterInfo & pi, int x, int y) const font.setFamily(LyXFont::SANS_FAMILY); font.setSize(LyXFont::SIZE_FOOTNOTE); - // FIXME UNICODE - docstring const stat = lyx::from_utf8(statusMessage(pi.base.bv, snippet_)); + docstring const stat = statusMessage(pi.base.bv, snippet_); pi.pain.text(x + offset + 6, y - theFontMetrics(font).maxAscent() - 4, stat, font); @@ -184,7 +184,7 @@ void RenderPreview::startLoading(Buffer const & buffer) const } -void RenderPreview::addPreview(string const & latex_snippet, +void RenderPreview::addPreview(docstring const & latex_snippet, Buffer const & buffer) { if (status() == LyXRC::PREVIEW_OFF) @@ -195,13 +195,15 @@ void RenderPreview::addPreview(string const & latex_snippet, } -void RenderPreview::addPreview(string const & latex_snippet, +void RenderPreview::addPreview(docstring const & latex_snippet, graphics::PreviewLoader & ploader) { if (status() == LyXRC::PREVIEW_OFF) return; - snippet_ = support::trim(latex_snippet); + // FIXME UNICODE + // We have to make sure that we call latex with the right encoding + snippet_ = support::trim(to_utf8(latex_snippet)); if (snippet_.empty()) return; @@ -241,11 +243,11 @@ void RenderPreview::imageReady(graphics::PreviewImage const & pimage) RenderMonitoredPreview::RenderMonitoredPreview(InsetBase const * inset) : RenderPreview(inset), - monitor_(std::string(), 2000) + monitor_(FileName(), 2000) {} -void RenderMonitoredPreview::setAbsFile(string const & file) +void RenderMonitoredPreview::setAbsFile(FileName const & file) { monitor_.reset(file); } @@ -264,3 +266,5 @@ RenderMonitoredPreview::fileChanged(slot_type const & slot) { return monitor_.connect(slot); } + +} // namespace lyx