X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetvspace.C;h=afb221aff28cc25295def2fab9f87d1cf48b3e06;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=7dd69f8ea00a059311ad097abc849d276cb482bf;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/insets/insetvspace.C b/src/insets/insetvspace.C index 7dd69f8ea0..afb221aff2 100644 --- a/src/insets/insetvspace.C +++ b/src/insets/insetvspace.C @@ -104,10 +104,9 @@ void InsetVSpace::write(Buffer const &, ostream & os) const } -string const InsetVSpace::label() const +docstring const InsetVSpace::label() const { - // FIXME UNICODE - static string const label = to_utf8(_("Vertical Space")); + static docstring const label = _("Vertical Space"); return label + " (" + space_.asGUIName() + ')'; } @@ -117,7 +116,7 @@ int const arrow_size = 4; } -void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const +bool InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const { int height = 3 * arrow_size; if (space_.length().len().value() >= 0.0) @@ -130,16 +129,16 @@ void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const int w = 0; int a = 0; int d = 0; - string lab = label(); - docstring dlab(lab.begin(), lab.end()); - theFontMetrics(font).rectText(dlab, w, a, d); + theFontMetrics(font).rectText(label(), w, a, d); height = max(height, a + d); dim.asc = height / 2 + (a - d) / 2; // align cursor with the dim.des = height - dim.asc; // label text dim.wid = ADD_TO_VSPACE_WIDTH + 2 * arrow_size + 5 + w; + bool const changed = dim_ != dim; dim_ = dim; + return changed; } @@ -182,13 +181,12 @@ void InsetVSpace::draw(PainterInfo & pi, int x, int y) const font.setColor(LColor::added_space); font.decSize(); font.decSize(); - string lab = label(); - docstring dlab(lab.begin(), lab.end()); - theFontMetrics(font).rectText(dlab, w, a, d); + docstring const lab = label(); + theFontMetrics(font).rectText(lab, w, a, d); pi.pain.rectText(x + 2 * arrow_size + 5, start + (end - start) / 2 + (a - d) / 2, - dlab, font, LColor::none, LColor::none); + lab, font, LColor::none, LColor::none); // top arrow pi.pain.line(x, ty1, midx, ty2, LColor::added_space);