#include "insets/InsetQuotes.h"
#include "insets/InsetSpecialChar.h"
#include "insets/InsetText.h"
-#include "insets/InsetInfo.h"
#include "insets/InsetGraphics.h"
#include "insets/InsetGraphicsParams.h"
if (!ins)
break;
- cur.recordUndoFullDocument();
+ cur.recordUndo();
string id = to_utf8(cmd.argument());
string grp = graphics::getGroupParams(bv->buffer(), id);
else
c = par.getChar(pos - 1);
string arg = to_utf8(cmd.argument());
- cur.insert(new InsetQuotes(c, bufparams.quotes_language,
- (arg == "single") ? InsetQuotes::SingleQuotes
- : InsetQuotes::DoubleQuotes));
+ cur.insert(new InsetQuotes(bv->buffer(), c, (arg == "single")
+ ? InsetQuotes::SingleQuotes : InsetQuotes::DoubleQuotes));
cur.posForward();
}
else
// selectWord but bvcur is current
// mouse position.
cur.bv().cursor().setSelection();
- }
+ // We might have removed an empty but drawn selection
+ // (probably a margin)
+ cur.updateFlags(Update::SinglePar | Update::FitCursor);
+ } else
+ cur.noUpdate();
// FIXME: We could try to handle drag and drop of selection here.
- cur.noUpdate();
return;
case mouse_button::button2:
// add a separate paragraph for the caption inset
pars.push_back(Paragraph());
- pars.back().setInsetOwner(pars[0].inInset());
+ pars.back().setInsetOwner(&pars[0].inInset());
pars.back().setPlainOrDefaultLayout(tclass);
int cap_pit = pars.size() - 1;
// the graphics (or table).
if (!content) {
pars.push_back(Paragraph());
- pars.back().setInsetOwner(pars[0].inInset());
+ pars.back().setInsetOwner(&pars[0].inInset());
pars.back().setPlainOrDefaultLayout(tclass);
}
MacroType type = MacroTypeNewcommand;
if (s2 == "def")
type = MacroTypeDef;
- cur.insert(new MathMacroTemplate(from_utf8(token(s, ' ', 0)), nargs, false, type));
- //cur.nextInset()->edit(cur, true);
+ MathMacroTemplate * inset = new MathMacroTemplate(from_utf8(token(s, ' ', 0)), nargs, false, type);
+ inset->setBuffer(bv->buffer());
+ insertInset(cur, inset);
+
+ // enter macro inset and select the name
+ cur.push(*inset);
+ cur.top().pos() = cur.top().lastpos();
+ cur.resetAnchor();
+ cur.selection() = true;
+ cur.top().pos() = 0;
}
break;
break;
}
- case LFUN_FONT_BOLD: {
+ case LFUN_FONT_BOLD:
+ case LFUN_FONT_BOLDSYMBOL: {
Font font(ignore_font, ignore_language);
font.fontInfo().setSeries(BOLD_SERIES);
toggleAndShow(cur, this, font);
break;
case LFUN_FONT_BOLD:
+ case LFUN_FONT_BOLDSYMBOL:
flag.setOnOff(fontinfo.series() == BOLD_SERIES);
break;