#include "insets/insetinclude.h"
#include "insets/insetbib.h"
#include "insets/insettext.h"
+#include "insets/insetnumber.h"
#include "insets/insetert.h"
#include "insets/insetgraphics.h"
#include "insets/insetfoot.h"
setMessage(N_("Text mode"));
LyXDirection direction = owner->view()->text->
cursor.par->getParDirection();
- if ((action == -1) ||
- ((action == LFUN_RIGHT) &&
- (direction == LYX_DIR_LEFT_TO_RIGHT))) {
+ switch(action) {
+ case LFUN_UNKNOWN_ACTION:
+ case LFUN_BREAKPARAGRAPH:
+ case LFUN_BREAKLINE:
owner->view()->text->CursorRight();
- moveCursorUpdate(false);
- owner->getMiniBuffer()->
- Set(CurrentState());
- }
- if ((action == LFUN_LEFT) &&
- (direction == LYX_DIR_RIGHT_TO_LEFT)) {
- owner->view()->text->CursorRight();
- moveCursorUpdate(false);
- owner->getMiniBuffer()->
- Set(CurrentState());
- }
- if ((action == LFUN_LEFT) ||
- (action == LFUN_RIGHT))
+ owner->view()->setState();
+ owner->getMiniBuffer()->Set(CurrentState());
+ break;
+ case LFUN_RIGHT:
+ if (direction == LYX_DIR_LEFT_TO_RIGHT) {
+ owner->view()->text->CursorRight();
+ moveCursorUpdate(false);
+ owner->getMiniBuffer()->
+ Set(CurrentState());
+ }
+ return string();
+ case LFUN_LEFT:
+ if (direction == LYX_DIR_RIGHT_TO_LEFT) {
+ owner->view()->text->CursorRight();
+ moveCursorUpdate(false);
+ owner->getMiniBuffer()->
+ Set(CurrentState());
+ }
return string();
+ default:
+ break;
+ }
}
}
}
case LFUN_PASTE:
owner->view()->paste();
+ owner->view()->setState();
break;
case LFUN_PASTESELECTION:
case LFUN_LAYOUT_PASTE:
owner->view()->pasteEnvironment();
+ owner->view()->setState();
break;
case LFUN_GOTOERROR:
text->cursor.par->
GetLayout() + 1);
owner->view()->update(1);
+ owner->view()->setState();
}
}
break;
new_inset->Edit(owner->view(), 0, 0, 0);
}
break;
+ case LFUN_INSET_NUMBER:
+ {
+ InsetNumber * new_inset = new InsetNumber(owner->buffer());
+ owner->view()->insertInset(new_inset);
+ new_inset->Edit(owner->view(), 0, 0, 0);
+ }
+ break;
case LFUN_INSET_ERT:
{
InsetERT * new_inset = new InsetERT(owner->buffer());
owner->view()->beforeChange();
if (isdigit(argument[0]) &&
- (lyxrc.auto_mathmode == "true" ||
- (lyxrc.auto_mathmode == "rtl" &&
+ (lyxrc.number_inset == "true" ||
+ (lyxrc.number_inset == "rtl" &&
owner->view()->text->real_current_font.isVisibleRightToLeft()
))) {
- UpdatableInset * tmpinset = new InsetFormula;
- LyXCursor & cursor = owner->view()->text->cursor;
- if (cursor.pos > 0 &&
- cursor.par->GetChar(cursor.pos - 1) == '-' &&
- (cursor.pos == 1 ||
- cursor.par->IsSeparator(cursor.pos - 2) ||
- cursor.par->IsNewline(cursor.pos - 2) )
- ) {
- owner->view()->text->Backspace();
- owner->view()->open_new_inset(tmpinset);
- tmpinset->LocalDispatch(owner->view(),
- LFUN_UNKNOWN_ACTION,
- "-");
- } else {
- owner->view()->open_new_inset(tmpinset);
- }
- tmpinset->LocalDispatch(owner->view(),
- LFUN_UNKNOWN_ACTION,
+ UpdatableInset * tmpinset = new InsetNumber(owner->buffer());
+ owner->view()->open_new_inset(tmpinset);
+ tmpinset->LocalDispatch(owner->view(), action,
argument);
return string();
}