diff --git a/NEWS.md b/NEWS.md index 86da35a2..4f0d2e7b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,6 +3,8 @@ Version 0.10.4 For Dev-C++ 7 Beta - fix: can't correctly undo/redo unindent - change: press tab when there are selections will do indent - change: press shift+tab when there are selections will do unindent + - enhancement: press home will switch between begin of line and the position of fisrt non-space char + - enhancement: press end will switch between end of line and the position of last non-space char Version 0.10.3 For Dev-C++ 7 Beta - enhancement: treat files ended with ".C" or ".CPP" as C++ files diff --git a/RedPandaIDE/qsynedit/KeyStrokes.cpp b/RedPandaIDE/qsynedit/KeyStrokes.cpp index 4aba2d29..4288dced 100644 --- a/RedPandaIDE/qsynedit/KeyStrokes.cpp +++ b/RedPandaIDE/qsynedit/KeyStrokes.cpp @@ -228,26 +228,26 @@ void SynEditKeyStrokes::resetDefaults() add(SynEditorCommand::ecUndo, Qt::Key_Z, Qt::ControlModifier); add(SynEditorCommand::ecRedo, Qt::Key_Z, Qt::ControlModifier|Qt::ShiftModifier); - add(SynEditorCommand::ecGotoMarker0, Qt::Key_0, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker1, Qt::Key_1, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker2, Qt::Key_2, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker3, Qt::Key_3, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker4, Qt::Key_4, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker5, Qt::Key_5, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker6, Qt::Key_6, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker7, Qt::Key_7, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker8, Qt::Key_8, Qt::ControlModifier); - add(SynEditorCommand::ecGotoMarker9, Qt::Key_9, Qt::ControlModifier); - add(SynEditorCommand::ecSetMarker0, Qt::Key_0, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker1, Qt::Key_1, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker2, Qt::Key_2, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker3, Qt::Key_3, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker4, Qt::Key_4, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker5, Qt::Key_5, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker6, Qt::Key_6, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker7, Qt::Key_7, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker8, Qt::Key_8, Qt::ControlModifier | Qt::ShiftModifier); - add(SynEditorCommand::ecSetMarker9, Qt::Key_9, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecGotoMarker0, Qt::Key_0, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker1, Qt::Key_1, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker2, Qt::Key_2, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker3, Qt::Key_3, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker4, Qt::Key_4, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker5, Qt::Key_5, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker6, Qt::Key_6, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker7, Qt::Key_7, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker8, Qt::Key_8, Qt::ControlModifier); +// add(SynEditorCommand::ecGotoMarker9, Qt::Key_9, Qt::ControlModifier); +// add(SynEditorCommand::ecSetMarker0, Qt::Key_0, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker1, Qt::Key_1, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker2, Qt::Key_2, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker3, Qt::Key_3, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker4, Qt::Key_4, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker5, Qt::Key_5, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker6, Qt::Key_6, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker7, Qt::Key_7, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker8, Qt::Key_8, Qt::ControlModifier | Qt::ShiftModifier); +// add(SynEditorCommand::ecSetMarker9, Qt::Key_9, Qt::ControlModifier | Qt::ShiftModifier); add(SynEditorCommand::ecNormalSelect, Qt::Key_N, Qt::ControlModifier | Qt::ShiftModifier); add(SynEditorCommand::ecColumnSelect, Qt::Key_C, Qt::ControlModifier | Qt::ShiftModifier); add(SynEditorCommand::ecLineSelect, Qt::Key_L, Qt::ControlModifier | Qt::ShiftModifier); diff --git a/RedPandaIDE/qsynedit/SynEdit.cpp b/RedPandaIDE/qsynedit/SynEdit.cpp index 21ba4a45..180be67c 100644 --- a/RedPandaIDE/qsynedit/SynEdit.cpp +++ b/RedPandaIDE/qsynedit/SynEdit.cpp @@ -4705,7 +4705,8 @@ void SynEdit::moveCaretToLineStart(bool isSelection) } newX = mCaretX; - if (newX > first_nonblank+1) + if ((newX > first_nonblank+1) + || (newX == 1)) newX = first_nonblank+1; else newX = 1; @@ -4725,10 +4726,10 @@ void SynEdit::moveCaretToLineEnd(bool isSelection) vLastNonBlank--; vLastNonBlank++; vNewX = mCaretX; - if (vNewX > vLastNonBlank) - vNewX = vText.length() + 1; - else + if ((vNewX <= vLastNonBlank) || (vNewX == vText.length() + 1)) vNewX = vLastNonBlank + 1; + else + vNewX = vText.length() + 1; } else vNewX = lineText().length() + 1;