#include "lyxrc.h"
#include "metricsinfo.h"
-#include "frontends/font_metrics.h"
+#include "frontends/FontMetrics.h"
#include "frontends/Painter.h"
#include "graphics/PreviewImage.h"
#include "graphics/PreviewLoader.h"
#include "graphics/Previews.h"
+#include "support/filename.h"
#include "support/lstrings.h"
#include <boost/bind.hpp>
-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()
{
}
-string const statusMessage(BufferView const * bv, string const & snippet)
+docstring const statusMessage(BufferView const * bv, string const & snippet)
{
BOOST_ASSERT(bv && bv->buffer());
graphics::PreviewLoader const & loader = getPreviewLoader(buffer);
graphics::PreviewLoader::Status const status = loader.status(snippet);
- string message;
+ docstring message;
switch (status) {
case graphics::PreviewLoader::InQueue:
case graphics::PreviewLoader::Processing:
}
-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());
LyXFont font(mi.base.font);
font.setFamily(LyXFont::SANS_FAMILY);
font.setSize(LyXFont::SIZE_FOOTNOTE);
- string stat = statusMessage(mi.base.bv, snippet_);
- docstring dstat(stat.begin(), stat.end());
- dim.wid = 15 + font_metrics::width(dstat, font);
+ docstring const stat = statusMessage(mi.base.bv, snippet_);
+ dim.wid = 15 + theFontMetrics(font).width(stat);
}
+ bool const changed = dim_ != dim;
dim_ = dim;
+ return changed;
}
font.setFamily(LyXFont::SANS_FAMILY);
font.setSize(LyXFont::SIZE_FOOTNOTE);
- string stat = statusMessage(pi.base.bv, snippet_);
- docstring dstat(stat.begin(), stat.end());
+ docstring const stat = statusMessage(pi.base.bv, snippet_);
pi.pain.text(x + offset + 6,
- y - font_metrics::maxAscent(font) - 4,
- dstat, font);
+ y - theFontMetrics(font).maxAscent() - 4,
+ stat, font);
}
}
}
-void RenderPreview::addPreview(string const & latex_snippet,
+void RenderPreview::addPreview(docstring const & latex_snippet,
Buffer const & buffer)
{
if (status() == LyXRC::PREVIEW_OFF)
}
-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;
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);
}
{
return monitor_.connect(slot);
}
+
+} // namespace lyx