cur.clearSelection(); // bug 393
cur.finishUndo();
InsetText * insetText = dynamic_cast<InsetText *>(inset);
- if (insetText && (!insetText->allowMultiPar() || cur.lastpit() == 0)) {
- // reset first par to default
- cur.text()->paragraphs().begin()
- ->setPlainOrDefaultLayout(bparams.documentClass());
- cur.pos() = 0;
- cur.pit() = 0;
- // Merge multiple paragraphs -- hack
- while (cur.lastpit() > 0)
- mergeParagraph(bparams, cur.text()->paragraphs(), 0);
- cur.leaveInset(*inset);
+ if (insetText) {
+ insetText->fixParagraphsFont();
+ if (!insetText->allowMultiPar() || cur.lastpit() == 0) {
+ // reset first par to default
+ cur.text()->paragraphs().begin()
+ ->setPlainOrDefaultLayout(bparams.documentClass());
+ cur.pos() = 0;
+ cur.pit() = 0;
+ // Merge multiple paragraphs -- hack
+ while (cur.lastpit() > 0)
+ mergeParagraph(bparams, cur.text()->paragraphs(), 0);
+ cur.leaveInset(*inset);
+ }
} else {
cur.leaveInset(*inset);
// reset surrounding par to default
: dc.defaultLayoutName();
text->setLayout(cur, layoutname);
}
-
return true;
}
break;
// Single-click on work area
- case LFUN_MOUSE_PRESS:
+ case LFUN_MOUSE_PRESS: {
// We are not marking a selection with the keyboard in any case.
- cur.bv().cursor().setMark(false);
+ Cursor & bvcur = cur.bv().cursor();
+ bvcur.setMark(false);
switch (cmd.button()) {
case mouse_button::button1:
// Set the cursor
if (!bv->mouseSetCursor(cur, cmd.argument() == "region-select"))
cur.updateFlags(Update::SinglePar | Update::FitCursor);
+ if (bvcur.wordSelection())
+ selectWord(bvcur, WHOLE_WORD);
break;
case mouse_button::button2:
break;
case mouse_button::button3: {
- Cursor const & bvcur = cur.bv().cursor();
// Don't do anything if we right-click a
// selection, a context menu will popup.
if (bvcur.selection() && cur >= bvcur.selectionBegin()
break;
} // switch (cmd.button())
break;
-
+ }
case LFUN_MOUSE_MOTION: {
// Mouse motion with right or middle mouse do nothing for now.
if (cmd.button() != mouse_button::button1) {