X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.C;h=29ad13b273bf25b7c66faf71ff4e2a3b177c8199;hb=e7f4618bcce770369cf46335c2c7f0164b4b8857;hp=0490cb2b21a3833f3c0cf100dccccacd1d6a311a;hpb=5ffb6cfbe2674412d7064b8ca36e82cb03a8a28f;p=lyx.git diff --git a/src/BufferView.C b/src/BufferView.C index 0490cb2b21..29ad13b273 100644 --- a/src/BufferView.C +++ b/src/BufferView.C @@ -63,7 +63,6 @@ #include "frontends/Alert.h" #include "frontends/FileDialog.h" #include "frontends/FontMetrics.h" -#include "frontends/Selection.h" #include "graphics/Previews.h" @@ -209,7 +208,8 @@ void BufferView::setBuffer(Buffer * b) cursor_.resetAnchor(); cursor_.setCursor(buffer_->getCursor().asDocIterator(&(buffer_->inset()))); cursor_.setSelection(); - theSelection().haveSelection(cursor_.selection()); + // do not set selection to the new buffer because we + // only paste recent selection. } } @@ -598,7 +598,7 @@ void BufferView::switchKeyMap() if (!lyxrc.rtl_support) return; - if (getLyXText()->real_current_font.isRightToLeft()) { + if (cursor_.innerText()->real_current_font.isRightToLeft()) { if (intl_->keymap == Intl::PRIMARY) intl_->keyMapSec(); } else { @@ -682,8 +682,7 @@ FuncStatus BufferView::getStatus(FuncRequest const & cmd) case LFUN_CHANGES_OUTPUT: { OutputParams runparams; - LaTeXFeatures features(*buffer_, buffer_->params(), runparams); - flag.enabled(buffer_ && features.isAvailable("dvipost")); + flag.enabled(buffer_ && LaTeXFeatures::isAvailable("dvipost")); flag.setOnOff(buffer_->params().outputChanges); break; } @@ -1054,6 +1053,10 @@ void BufferView::clearSelection() { if (buffer_) { cursor_.clearSelection(); + // Clear the selection buffer. Otherwise a subsequent + // middle-mouse-button paste would use the selection buffer, + // not the more current external selection. + cap::clearSelection(); xsel_cache_.set = false; // The buffer did not really change, but this causes the // redraw we need because we cleared the selection above. @@ -1223,22 +1226,6 @@ void BufferView::gotoLabel(docstring const & label) } -LyXText * BufferView::getLyXText() -{ - LyXText * text = cursor_.innerText(); - BOOST_ASSERT(text); - return text; -} - - -LyXText const * BufferView::getLyXText() const -{ - LyXText const * text = cursor_.innerText(); - BOOST_ASSERT(text); - return text; -} - - TextMetrics const & BufferView::textMetrics(LyXText const * t) const { return const_cast(this)->textMetrics(t); @@ -1338,8 +1325,6 @@ bool BufferView::mouseSetCursor(LCursor & cur) cursor_.setCursor(dit); cursor_.clearSelection(); - // remember new position. - cursor_.setTargetX(); finishUndo(); return update; } @@ -1358,7 +1343,7 @@ void BufferView::putSelectionAt(DocIterator const & cur, cursor_.setSelection(cursor_, -length); } else cursor_.setSelection(cursor_, length); - theSelection().haveSelection(cursor_.selection()); + cap::saveSelection(cursor_); } }