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
19
19
void lineNumberAreaPaintEvent (QPaintEvent *event);
20
20
int lineNumberAreaWidth ();
21
21
22
+ signals:
23
+ void statusMessageChanged (const QString &message);
24
+
22
25
protected:
23
26
void keyPressEvent (QKeyEvent *event) override ;
24
27
void resizeEvent (QResizeEvent *event) override ;
Original file line number Diff line number Diff line change 4
4
5
5
#include < QPainter>
6
6
#include < QTextBlock>
7
+ #include < QStatusBar>
7
8
8
9
CodeEditor::CodeEditor (QWidget *parent)
9
10
: QPlainTextEdit(parent),
@@ -33,6 +34,7 @@ void CodeEditor::keyPressEvent(QKeyEvent *event)
33
34
{
34
35
case Qt::Key_I:
35
36
mode = INSERT;
37
+ emit statusMessageChanged (" Insert mode activated" );
36
38
break ;
37
39
case Qt::Key_A:
38
40
moveCursor (QTextCursor::Left);
@@ -46,14 +48,22 @@ void CodeEditor::keyPressEvent(QKeyEvent *event)
46
48
case Qt::Key_W:
47
49
moveCursor (QTextCursor::Up);
48
50
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. " ) ;
51
53
break ;
52
54
}
53
55
}
54
- else
56
+ else if (mode == INSERT)
55
57
{
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
+ }
57
67
}
58
68
}
59
69
You can’t perform that action at this time.
0 commit comments