summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/emulation_layer.cpp
Side-by-side diff
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.cpp36
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 --------------------------------------------------------------- --