File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed
Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,9 @@ class CodeEditor : public QPlainTextEdit
1919 void lineNumberAreaPaintEvent (QPaintEvent *event);
2020 int lineNumberAreaWidth ();
2121
22+ signals:
23+ void statusMessageChanged (const QString &message);
24+
2225protected:
2326 void keyPressEvent (QKeyEvent *event) override ;
2427 void resizeEvent (QResizeEvent *event) override ;
Original file line number Diff line number Diff line change 44
55#include < QPainter>
66#include < QTextBlock>
7+ #include < QStatusBar>
78
89CodeEditor::CodeEditor (QWidget *parent)
910 : QPlainTextEdit(parent),
@@ -33,6 +34,7 @@ void CodeEditor::keyPressEvent(QKeyEvent *event)
3334 {
3435 case Qt::Key_I:
3536 mode = INSERT;
37+ emit statusMessageChanged (" Insert mode activated" );
3638 break ;
3739 case Qt::Key_A:
3840 moveCursor (QTextCursor::Left);
@@ -46,14 +48,22 @@ void CodeEditor::keyPressEvent(QKeyEvent *event)
4648 case Qt::Key_W:
4749 moveCursor (QTextCursor::Up);
4850 break ;
49- case Qt::Key_Escape :
50- mode = NORMAL ;
51+ default :
52+ emit statusMessageChanged ( " Insert mode is not active. Press 'i' to enter insert mode. " ) ;
5153 break ;
5254 }
5355 }
54- else
56+ else if (mode == INSERT)
5557 {
56- QPlainTextEdit::keyPressEvent (event);
58+ if (event->key () == Qt::Key_Escape)
59+ {
60+ mode = NORMAL;
61+ emit statusMessageChanged (" Normal mode activated. Press 'escape' to return to normal mode." );
62+ }
63+ else
64+ {
65+ QPlainTextEdit::keyPressEvent (event);
66+ }
5767 }
5868}
5969
You can’t perform that action at this time.
0 commit comments