X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.cpp;h=c93966b2572a838ba79ea99d6626935ccb4e0614;hb=1acedf11da79f509da706bc8d6d2f491c9676087;hp=19e16da5f012c65d101361d3829bae3c0294a4e0;hpb=ed2b1631db33ba8265c2df141d77f207dca6c967;p=lyx.git diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 19e16da5f0..c93966b257 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -745,7 +745,7 @@ void BufferView::showCursor() else if (d->anchor_pit_ == max_pit) d->anchor_ypos_ = height_ - offset - row_dim.descent(); else - d->anchor_ypos_ = offset + pm.ascent() - height_ / 2; + d->anchor_ypos_ = defaultRowHeight() * 2 - offset - row_dim.descent(); updateMetrics(); buffer_.changed(); @@ -787,7 +787,7 @@ FuncStatus BufferView::getStatus(FuncRequest const & cmd) case LFUN_SCREEN_RECENTER: case LFUN_BIBTEX_DATABASE_ADD: case LFUN_BIBTEX_DATABASE_DEL: - case LFUN_WORDS_COUNT: + case LFUN_STATISTICS: case LFUN_NEXT_INSET_TOGGLE: flag.enabled(true); break; @@ -1134,7 +1134,7 @@ bool BufferView::dispatch(FuncRequest const & cmd) break; } - case LFUN_WORDS_COUNT: { + case LFUN_STATISTICS: { DocIterator from, to; if (cur.selection()) { from = cur.selectionBegin(); @@ -1143,24 +1143,30 @@ bool BufferView::dispatch(FuncRequest const & cmd) from = doc_iterator_begin(buffer_.inset()); to = doc_iterator_end(buffer_.inset()); } - int const count = countWords(from, to); + int const words = countWords(from, to); + int const chars = countChars(from, to, false); + int const chars_blanks = countChars(from, to, true); docstring message; - if (count != 1) { - if (cur.selection()) - message = bformat(_("%1$d words in selection."), - count); - else - message = bformat(_("%1$d words in document."), - count); - } - else { - if (cur.selection()) - message = _("One word in selection."); - else - message = _("One word in document."); - } + if (cur.selection()) + message = _("Statistics for the selection:\n"); + else + message = _("Statistics for the document:\n"); + if (words != 1) + message += bformat(_("\n%1$d words"), words); + else + message += _("\nOne word"); + if (chars_blanks != 1) + message += bformat(_("\n%1$d characters (including blanks)"), + chars_blanks); + else + message += _("\nOne character (including blanks)"); + if (chars != 1) + message += bformat(_("\n%1$d characters (excluding blanks)"), + chars); + else + message += _("\nOne character (excluding blanks)"); - Alert::information(_("Count words"), message); + Alert::information(_("Statistics"), message); } break; @@ -1172,7 +1178,7 @@ bool BufferView::dispatch(FuncRequest const & cmd) case LFUN_BUFFER_TOGGLE_EMBEDDING: { // turn embedding on/off try { - buffer_.embeddedFiles().enable(!buffer_.params().embedded); + buffer_.embeddedFiles().enable(!buffer_.params().embedded, buffer_); } catch (ExceptionMessage const & message) { Alert::error(message.title_, message.details_); }