return translator;
}
-} // anon
+} // namespace
InsetScriptParams::InsetScriptParams()
void InsetScript::metrics(MetricsInfo & mi, Dimension & dim) const
{
int const shift = params_.shift(mi.base.font);
- ScriptChanger dummy(mi.base);
+ // Remember the value of the outser font, so that it can be used in cursorPos.
+ outer_font_ = mi.base.font;
+ Changer dummy = mi.base.changeScript();
InsetText::metrics(mi, dim);
dim.asc -= shift;
dim.des += shift;
void InsetScript::draw(PainterInfo & pi, int x, int y) const
{
int const shift = params_.shift(pi.base.font);
- ScriptChanger dummy(pi.base);
+ Changer dummy = pi.base.changeScript();
InsetText::draw(pi, x, y + shift);
}
void InsetScript::cursorPos(BufferView const & bv,
CursorSlice const & sl, bool boundary, int & x, int & y) const
{
- Font const font = bv.textMetrics(&text()).displayFont(sl.pit(), sl.pos());
- int const shift = params_.shift(font.fontInfo());
+ int const shift = params_.shift(outer_font_);
InsetText::cursorPos(bv, sl, boundary, x, y);
y += shift;
}
case BOX_CODE:
case BRANCH_CODE:
case CAPTION_CODE:
- case COLLAPSABLE_CODE:
+ case COLLAPSIBLE_CODE:
case FLOAT_CODE:
case FLOAT_LIST_CODE:
case FOOT_CODE:
FuncStatus & flag) const
{
switch (cmd.action()) {
- case LFUN_LAYOUT:
- case LFUN_LAYOUT_PARAGRAPH:
case LFUN_MATH_DISPLAY:
case LFUN_BOX_INSERT:
case LFUN_BRANCH_INSERT:
case LFUN_PREVIEW_INSERT:
case LFUN_QUOTE_INSERT:
case LFUN_TABULAR_INSERT:
+ case LFUN_TABULAR_STYLE_INSERT:
case LFUN_WRAP_INSERT:
flag.setEnabled(false);
return true;
InsetText::plaintext(ods, rp, 200);
docstring content_tip = ods.str();
// shorten it if necessary
- if (content_tip.size() >= 200)
- content_tip = content_tip.substr(0, 197) + "...";
+ support::truncateWithEllipsis(content_tip, 200);
docstring res = scripttranslator_loc().find(params_.type);
if (!content_tip.empty())
res += from_ascii(": ") + content_tip;
int InsetScript::docbook(odocstream & os, OutputParams const & runparams) const
{
- string cmdname;
+ docstring cmdname;
switch (params_.type) {
case InsetScriptParams::Subscript:
- cmdname = "subscript";
+ cmdname = from_ascii("subscript");
break;
case InsetScriptParams::Superscript:
- cmdname = "superscript";
+ cmdname = from_ascii("superscript");
break;
}
os << '<' + cmdname + '>';