summaryrefslogtreecommitdiff
authorwazlaf <wazlaf>2002-10-20 14:53:08 (UTC)
committer wazlaf <wazlaf>2002-10-20 14:53:08 (UTC)
commit18ba3be9ca69c42476e310649e3068d2d5f8a03b (patch) (side-by-side diff)
treed6a68e8f1a319ef8320d714356beebcf440a630f
parent9f442f5af601d1e15bb4d0509ed012e61609260d (diff)
downloadopie-18ba3be9ca69c42476e310649e3068d2d5f8a03b.zip
opie-18ba3be9ca69c42476e310649e3068d2d5f8a03b.tar.gz
opie-18ba3be9ca69c42476e310649e3068d2d5f8a03b.tar.bz2
scripting fixed (moved from emulation_layer to emulation_handler). Scripts now use QByteArray instead of QString
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/emulation_handler.cpp34
-rw-r--r--noncore/apps/opie-console/emulation_handler.h19
-rw-r--r--noncore/apps/opie-console/emulation_layer.cpp36
-rw-r--r--noncore/apps/opie-console/emulation_layer.h18
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp16
-rw-r--r--noncore/apps/opie-console/script.cpp15
-rw-r--r--noncore/apps/opie-console/script.h6
7 files changed, 68 insertions, 76 deletions
diff --git a/noncore/apps/opie-console/emulation_handler.cpp b/noncore/apps/opie-console/emulation_handler.cpp
index 8846959..df8e573 100644
--- a/noncore/apps/opie-console/emulation_handler.cpp
+++ b/noncore/apps/opie-console/emulation_handler.cpp
@@ -7,5 +7,5 @@
#include "profile.h"
#include "emulation_handler.h"
-
+#include "script.h"
EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const char* name )
@@ -14,4 +14,5 @@ EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const c
m_teWid = new TEWidget( parent, "TerminalMain");
m_teWid->setMinimumSize(150, 70 );
+ m_script = 0;
parent->resize( m_teWid->calcSize(80, 24 ) );
m_teEmu = new TEmuVt102(m_teWid );
@@ -29,7 +30,10 @@ EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const c
}
EmulationHandler::~EmulationHandler() {
+ if (isRecording())
+ clearScript();
delete m_teEmu;
delete m_teWid;
}
+
void EmulationHandler::load( const Profile& prof) {
m_teWid->setVTFont( font( prof.readNumEntry("Font") ) );
@@ -46,4 +50,6 @@ void EmulationHandler::recvEmulation(const char* src, int len ) {
memcpy(ar.data(), src, sizeof(char) * len );
+ if (isRecording())
+ m_script->append(ar);
emit send(ar);
}
@@ -146,2 +152,28 @@ QPushButton* EmulationHandler::cornerButton() {
return m_teWid->cornerButton();
}
+
+
+Script *EmulationHandler::script() {
+ return m_script;
+}
+
+bool EmulationHandler::isRecording() {
+ return (m_script != 0);
+}
+
+void EmulationHandler::startRecording() {
+ if (!isRecording())
+ m_script = new Script();
+}
+
+void EmulationHandler::clearScript() {
+ if (isRecording()) {
+ delete m_script;
+ m_script = 0;
+ }
+}
+
+void EmulationHandler::runScript(const Script *script) {
+ emit send(script->script());
+}
+
diff --git a/noncore/apps/opie-console/emulation_handler.h b/noncore/apps/opie-console/emulation_handler.h
index 9ceafc6..7ca2cf3 100644
--- a/noncore/apps/opie-console/emulation_handler.h
+++ b/noncore/apps/opie-console/emulation_handler.h
@@ -30,4 +30,5 @@ class TEWidget;
class TEmulation;
class QFont;
+class Script;
class EmulationHandler : public QObject {
Q_OBJECT
@@ -49,4 +50,20 @@ public:
void setColor( const QColor& fore, const QColor& back );
QPushButton* cornerButton();
+
+ /* Scripts */
+ /* Create a new script and record all typed characters */
+ void startRecording();
+
+ /* Return whether we are currently recording a script */
+ bool isRecording();
+
+ /* Return the current script (or NULL) */
+ Script *script();
+
+ /* Stop recording and remove the current script from memory */
+ void clearScript();
+
+ /* Run a script by forwarding its keys to the EmulationLayer */
+ void runScript(const Script *);
signals:
@@ -68,5 +85,5 @@ private:
TEWidget* m_teWid;
TEmulation* m_teEmu;
-
+ Script * m_script;
};
diff --git a/noncore/apps/opie-console/emulation_layer.cpp b/noncore/apps/opie-console/emulation_layer.cpp
index 265c11f..6a2679e 100644
--- a/noncore/apps/opie-console/emulation_layer.cpp
+++ b/noncore/apps/opie-console/emulation_layer.cpp
@@ -108,5 +108,4 @@ EmulationLayer::EmulationLayer( WidgetLayer* gui )
bulk_incnt = 0; // reset bulk counter
connected = FALSE;
- m_script = 0;
QObject::connect(&bulk_timer, SIGNAL( timeout() ), this, SLOT( showBulk() ) );
@@ -134,6 +133,4 @@ EmulationLayer::~EmulationLayer()
delete screen[0];
delete screen[1];
- if (isRecording())
- clearScript();
bulk_timer.stop();
}
@@ -233,7 +230,4 @@ 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 );
}
@@ -262,33 +256,4 @@ 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 --------------------------------------------------------------- --
@@ -407,2 +372,3 @@ void EmulationLayer::setColumns(int columns)
emit changeColumns(columns);
}
+
diff --git a/noncore/apps/opie-console/emulation_layer.h b/noncore/apps/opie-console/emulation_layer.h
index 928ad04..73e5bf6 100644
--- a/noncore/apps/opie-console/emulation_layer.h
+++ b/noncore/apps/opie-console/emulation_layer.h
@@ -33,5 +33,4 @@
#include <qtextcodec.h>
#include "keytrans.h"
-#include "script.h"
class EmulationLayer : public QObject
@@ -106,20 +105,4 @@ public:
void setKeytrans(const char * no);
- /* Scripts */
-
- /* Create a new script and record all typed characters */
- void startRecording();
-
- /* Return whether we are currently recording a script */
- bool isRecording();
-
- /* Return the current script (or NULL) */
- Script *script();
-
- /* Stop recording and remove the current script from memory */
- void clearScript();
-
- /* Run a script by forwarding its keys to the EmulationLayer */
- void runScript(const Script *);
protected:
@@ -157,5 +140,4 @@ private:
char* SelectedText;
int bulk_incnt; // bulk counter
- Script *m_script;
};
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index a7541f0..49f9653 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -287,12 +287,11 @@ void MainWindow::slotNew() {
void MainWindow::slotRecordScript() {
-/* if (currentSession()) {
- currentSession()->emulationLayer()->startRecording();
+ if (currentSession()) {
+ currentSession()->emulationHandler()->startRecording();
}
- */
}
void MainWindow::slotSaveScript() {
-/* if (currentSession() && currentSession()->emulationLayer()->isRecording()) {
+ if (currentSession() && currentSession()->emulationHandler()->isRecording()) {
MimeTypes types;
QStringList script;
@@ -301,13 +300,11 @@ void MainWindow::slotSaveScript() {
QString filename = OFileDialog::getSaveFileName(2, "/", QString::null, types);
if (!filename.isEmpty()) {
- currentSession()->emulationLayer()->script()->saveTo(filename);
- currentSession()->emulationLayer()->clearScript();
+ currentSession()->emulationHandler()->script()->saveTo(filename);
+ currentSession()->emulationHandler()->clearScript();
}
}
- */
}
void MainWindow::slotRunScript() {
-/*
if (currentSession()) {
MimeTypes types;
@@ -318,8 +315,7 @@ void MainWindow::slotRunScript() {
if (!filename.isEmpty()) {
Script script(DocLnk(filename).file());
- currentSession()->emulationLayer()->runScript(&script);
+ currentSession()->emulationHandler()->runScript(&script);
}
}
- */
}
diff --git a/noncore/apps/opie-console/script.cpp b/noncore/apps/opie-console/script.cpp
index a09fab6..9cb1cd3 100644
--- a/noncore/apps/opie-console/script.cpp
+++ b/noncore/apps/opie-console/script.cpp
@@ -8,8 +8,5 @@ Script::Script() {
Script::Script(const QString fileName) {
QFile file(fileName);
- QTextStream stream(&file);
- while (!stream.atEnd()) {
- appendString(stream.readLine());
- }
+ m_script = file.readAll();
}
@@ -17,14 +14,16 @@ void Script::saveTo(const QString fileName) const {
QFile file(fileName);
file.open(IO_WriteOnly);
- file.writeBlock(m_script.ascii(), m_script.length());
+ file.writeBlock(m_script);
file.close();
}
-void Script::appendString(const QString string) {
- m_script += string;
+void Script::append(const QByteArray &data) {
+ int size = m_script.size();
+ m_script.resize(size + data.size());
+ memcpy(m_script.data() + size, data.data(), data.size());
}
-QString Script::script() const {
+QByteArray Script::script() const {
return m_script;
}
diff --git a/noncore/apps/opie-console/script.h b/noncore/apps/opie-console/script.h
index dc2351b..b3eac7f 100644
--- a/noncore/apps/opie-console/script.h
+++ b/noncore/apps/opie-console/script.h
@@ -16,5 +16,5 @@ public:
/* Append a line to the script */
- void appendString(const QString string);
+ void append(const QByteArray &data);
/* Save this script to a file */
@@ -22,7 +22,7 @@ public:
/* Return the script's content */
- QString script() const;
+ QByteArray script() const;
protected:
- QString m_script;
+ QByteArray m_script;
};