summaryrefslogtreecommitdiff
path: root/src/terminal/internal
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2014-07-04 22:55:29 +0800
committerIru Cai <mytbk920423@gmail.com>2014-07-04 22:55:29 +0800
commited5c6b000bc032d3584e770a9aff40373af19c2e (patch)
tree0423c582609181255932015718cdb0d1ce78536e /src/terminal/internal
parent47731af03865c7c1f251a2e6b44ae905d61d083b (diff)
downloadfqterm-ed5c6b000bc032d3584e770a9aff40373af19c2e.tar.xz
Add ANSI sequence "<ESC> c" support
Diffstat (limited to 'src/terminal/internal')
-rw-r--r--src/terminal/internal/fqterm_decode.cpp8
-rw-r--r--src/terminal/internal/fqterm_decode.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/src/terminal/internal/fqterm_decode.cpp b/src/terminal/internal/fqterm_decode.cpp
index cb7bc9a..49aa364 100644
--- a/src/terminal/internal/fqterm_decode.cpp
+++ b/src/terminal/internal/fqterm_decode.cpp
@@ -96,6 +96,8 @@ StateOption FQTermDecode::VT100StateMachine::esc_state_[] = {
}, {
'<', &FQTermDecode::test, normal_state_
}, {
+ 'c', &FQTermDecode::termReset, normal_state_
+ }, {
'#', 0, sharp_state_
}, {
CHAR_NORMAL, 0, normal_state_
@@ -685,6 +687,12 @@ void FQTermDecode::setMargins() {
}
}
+ void FQTermDecode::termReset()
+ {
+ FQ_FUNC_TRACE("ansi", 8);
+ termBuffer_->termReset();
+ }
+
// parameters functions
void FQTermDecode::clearParam() {
FQ_FUNC_TRACE("ansi", 9);
diff --git a/src/terminal/internal/fqterm_decode.h b/src/terminal/internal/fqterm_decode.h
index 5f3f46d..86fe942 100644
--- a/src/terminal/internal/fqterm_decode.h
+++ b/src/terminal/internal/fqterm_decode.h
@@ -73,7 +73,8 @@ class FQTermDecode: public QObject {
void setAttr();
void setMargins();
-
+ void termReset();
+
// char screen functions
void deleteStr();
void deleteLine();