#include "FuncRequest.h"
#include "gettext.h"
#include "Language.h"
+#include "Layout.h"
#include "Lexer.h"
#include "LyXFunc.h"
#include "LyXRC.h"
#include "ParIterator.h"
#include "Server.h"
#include "ServerSocket.h"
+#include "TextMetrics.h"
#include "Undo.h"
#include "VSpace.h"
#include "support/textutils.h"
#include <boost/current_function.hpp>
+#include <boost/next_prior.hpp>
#include <sstream>
if (!front && cur.pos() == 0)
return false;
Inset * inset = front ? cur.nextInset() : cur.prevInset();
- if (!isHighlyEditableInset(inset))
+ if (!inset || inset->editable() != Inset::HIGHLY_EDITABLE)
return false;
/*
* Apparently, when entering an inset we are expected to be positioned
// move to the previous paragraph or do nothing
if (cur.pit() > 0)
- return setCursor(cur, cur.pit() - 1, getPar(cur.pit() - 1).size());
+ return setCursor(cur, cur.pit() - 1, getPar(cur.pit() - 1).size(), true, false);
return false;
}
// move to next paragraph
if (cur.pit() != cur.lastpit())
- return setCursor(cur, cur.pit() + 1, 0);
+ return setCursor(cur, cur.pit() + 1, 0, true, false);
return false;
}
plist.erase(boost::next(plist.begin(), old.pit()));
// do not lose start of appendix marker (bug 4212)
if (soa)
- boost::next(plist.begin(), old.pit())->params().startOfAppendix(true);
+ plist[old.pit()].params().startOfAppendix(true);
// see #warning (FIXME?) above
if (cur.depth() >= old.depth()) {