Diffstat (limited to 'noncore/apps/opie-console/emulation_layer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/emulation_layer.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/emulation_layer.cpp b/noncore/apps/opie-console/emulation_layer.cpp index 5baf05c..265c11f 100644 --- a/noncore/apps/opie-console/emulation_layer.cpp +++ b/noncore/apps/opie-console/emulation_layer.cpp @@ -109,2 +109,3 @@ EmulationLayer::EmulationLayer( WidgetLayer* gui ) connected = FALSE; + m_script = 0; @@ -134,2 +135,4 @@ EmulationLayer::~EmulationLayer() delete screen[1]; + if (isRecording()) + clearScript(); bulk_timer.stop(); @@ -230,2 +233,6 @@ void EmulationLayer::onKeyPress( QKeyEvent* ev ) // ibot: qbytearray is emited not char* + + /* Are we currently recording a script? If so, store the typed character */ + if (isRecording()) + m_script->appendString(ev->text()); emit sndBlock( (QByteArray) c ); @@ -256,2 +263,31 @@ void EmulationLayer::onRcvBlock(const QByteArray &s ) +// Scripts ----------------------------------------------------------------- -- + + +Script *EmulationLayer::script() { + return m_script; +} + +bool EmulationLayer::isRecording() { + return (m_script != 0); +} + +void EmulationLayer::startRecording() { + if (!isRecording()) + m_script = new Script(); +} + +void EmulationLayer::clearScript() { + if (isRecording()) { + + } +} + +void EmulationLayer::runScript(const Script *script) { + QByteArray a = QByteArray(); + QString str = script->script(); + a.setRawData(str.ascii(), str.length()); + emit sndBlock(a); +} + // Selection --------------------------------------------------------------- -- |