#include "InsetMathBrace.h"
#include "InsetMathColor.h"
#include "InsetMathComment.h"
-#include "MathData.h"
#include "InsetMathDelim.h"
-#include "MathFactory.h"
#include "InsetMathHull.h"
-#include "MathStream.h"
-#include "MathMacroArgument.h"
//#include "InsetMathMBox.h"
-#include "MathParser.h"
+#include "InsetMathRef.h"
#include "InsetMathScript.h"
#include "InsetMathSpace.h"
#include "InsetMathSymbol.h"
-#include "MathSupport.h"
#include "InsetMathUnknown.h"
-#include "InsetMathRef.h"
+#include "MathData.h"
+#include "MathFactory.h"
+#include "MathMacroArgument.h"
+#include "MathParser.h"
+#include "MathStream.h"
+#include "MathSupport.h"
+#include "bufferview_funcs.h"
#include "BufferView.h"
-#include "CutAndPaste.h"
-#include "FuncStatus.h"
#include "Color.h"
-#include "bufferview_funcs.h"
#include "CoordCache.h"
#include "Cursor.h"
+#include "CutAndPaste.h"
#include "debug.h"
#include "DispatchResult.h"
#include "FuncRequest.h"
+#include "FuncStatus.h"
#include "gettext.h"
-#include "LyXText.h"
+#include "Text.h"
#include "OutputParams.h"
#include "Undo.h"
#include "frontends/Selection.h"
#include "FuncRequest.h"
-#include "LyXServer.h"
-#include "LyXServerSocket.h"
#include <sstream>
void InsetMathNest::handleFont2(Cursor & cur, docstring const & arg)
{
recordUndo(cur, Undo::ATOMIC);
- LyXFont font;
+ Font font;
bool b;
bv_funcs::string2font(to_utf8(arg), font, b);
if (font.color() != Color::inherit) {
cur.autocorrect() = false;
cur.clearTargetX();
cur.macroModeClose();
+ if (cur.isRTL() )
+ goto goto_char_backwards;
+
+goto_char_forwards:
if (cur.pos() != cur.lastpos() && cur.openable(cur.nextAtom())) {
cur.pushLeft(*cur.nextAtom().nucleus());
cur.inset().idxFirst(cur);
cur.autocorrect() = false;
cur.clearTargetX();
cur.macroModeClose();
+ if (cur.isRTL())
+ goto goto_char_forwards;
+
+goto_char_backwards:
if (cur.pos() != 0 && cur.openable(cur.prevAtom())) {
cur.posLeft();
cur.push(*cur.nextAtom().nucleus());
rdelim)));
}
// Don't call cur.undispatched() if we did nothing, this would
- // lead to infinite recursion via LyXText::dispatch().
+ // lead to infinite recursion via Text::dispatch().
break;
}
}
default:
- InsetMathDim::doDispatch(cur, cmd);
+ InsetMath::doDispatch(cur, cmd);
break;
}
}
} else if (cmd.button() == mouse_button::button2) {
MathData ar;
if (cap::selection()) {
- // See comment in LyXText::dispatch why we do this
+ // See comment in Text::dispatch why we do this
cap::copySelectionToStack();
cmd = FuncRequest(LFUN_PASTE, "0");
doDispatch(cur, cmd);