}
-void LyXText::cutSelection(BufferView * bview, bool doclear)
+void LyXText::cutSelection(BufferView * bview, bool doclear, bool realcut)
{
// Stuff what we got on the clipboard. Even if there is no selection.
endpar = selection.end.par();
int pos = selection.end.pos();
CutAndPaste::cutSelection(selection.start.par(), &endpar,
- selection.start.pos(), pos,
- bview->buffer()->params.textclass, doclear);
+ selection.start.pos(), pos,
+ bview->buffer()->params.textclass, doclear,
+ realcut);
selection.end.pos(pos);
} else {
endpar = selection.end.par();
int pos = selection.end.pos();
CutAndPaste::cutSelection(selection.start.par(), &endpar,
- selection.start.pos(), pos,
- bview->buffer()->params.textclass, doclear);
+ selection.start.pos(), pos,
+ bview->buffer()->params.textclass, doclear,
+ realcut);
cursor.par(endpar);
selection.end.par(endpar);
selection.end.pos(pos);
}
// Cut the selection
- cutSelection(bview);
+ cutSelection(bview, true, false);
unFreezeUndo();
}
void LyXText::setCursor(BufferView * bview, Paragraph * par,
- Paragraph::size_type pos,
- bool setfont, bool boundary) const
+ Paragraph::size_type pos,
+ bool setfont, bool boundary) const
{
LyXCursor old_cursor = cursor;
setCursorIntern(bview, par, pos, setfont, boundary);
bool setfont, bool boundary) const
{
InsetText * it = static_cast<InsetText *>(par->inInset());
- if (it && (it != inset_owner)) {
- it->getLyXText(bview)->setCursorIntern(bview, par, pos, setfont,
- boundary);
- } else {
- setCursor(bview, cursor, par, pos, boundary);
- if (setfont)
- setCurrentFont(bview);
+ if (it) {
+ if (it != inset_owner) {
+ lyxerr << "InsetText is " << it << endl;
+ lyxerr << "inset_owner is " << inset_owner << endl;
+#warning I belive this code is wrong. (Lgb)
+#warning Jürgen, have a look at this. (Lgb)
+#warning Hmmm, I guess you are right but we
+#warning should verify when this is needed
+ // Jürgen, would you like to have a look?
+ // I guess we need to move the outer cursor
+ // and open and lock the inset (bla bla bla)
+ // stuff I don't know... so can you have a look?
+ // (Lgb)
+ // I moved the lyxerr stuff in here so we can see if this
+ // is actually really needed and where!
+ // (Jug)
+ it->getLyXText(bview)->setCursorIntern(bview, par, pos, setfont,
+ boundary);
+ return;
+ }
}
+
+ setCursor(bview, cursor, par, pos, boundary);
+ if (setfont)
+ setCurrentFont(bview);
}
void LyXText::status(BufferView * bview, LyXText::text_status st) const
{
-#if 0
- if ((status_ != NEED_MORE_REFRESH)
- || (status_ == NEED_MORE_REFRESH)
- && (st != NEED_VERY_LITTLE_REFRESH)) {
- status_ = st;
- if (inset_owner && st != UNCHANGED) {
- bview->text->status(bview, NEED_VERY_LITTLE_REFRESH);
- }
- }
-#else
-#warning Please tell what the intention is here. (Lgb)
- // The above does not make any sense, I changed it to what is here,
- // but it still does not make much sense. (Lgb)
-#warning Sure have a look now! (Jug)
// well as much as I know && binds more then || so the above and the
// below are identical (this for your known use of parentesis!)
// Now some explanation:
}
}
}
-#endif
}