summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/emulation_handler.cpp
authorwazlaf <wazlaf>2002-10-20 14:53:08 (UTC)
committer wazlaf <wazlaf>2002-10-20 14:53:08 (UTC)
commit18ba3be9ca69c42476e310649e3068d2d5f8a03b (patch) (unidiff)
treed6a68e8f1a319ef8320d714356beebcf440a630f /noncore/apps/opie-console/emulation_handler.cpp
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 (limited to 'noncore/apps/opie-console/emulation_handler.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-console/emulation_handler.cpp34
1 files changed, 33 insertions, 1 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
@@ -3,19 +3,20 @@
3 3
4#include "TEWidget.h" 4#include "TEWidget.h"
5#include "TEmuVt102.h" 5#include "TEmuVt102.h"
6 6
7#include "profile.h" 7#include "profile.h"
8#include "emulation_handler.h" 8#include "emulation_handler.h"
9 9#include "script.h"
10 10
11EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const char* name ) 11EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const char* name )
12 : QObject(0, name ) 12 : QObject(0, name )
13{ 13{
14 m_teWid = new TEWidget( parent, "TerminalMain"); 14 m_teWid = new TEWidget( parent, "TerminalMain");
15 m_teWid->setMinimumSize(150, 70 ); 15 m_teWid->setMinimumSize(150, 70 );
16 m_script = 0;
16 parent->resize( m_teWid->calcSize(80, 24 ) ); 17 parent->resize( m_teWid->calcSize(80, 24 ) );
17 m_teEmu = new TEmuVt102(m_teWid ); 18 m_teEmu = new TEmuVt102(m_teWid );
18 19
19 connect(m_teEmu,SIGNAL(ImageSizeChanged(int, int) ), 20 connect(m_teEmu,SIGNAL(ImageSizeChanged(int, int) ),
20 this, SIGNAL(changeSize(int, int) ) ); 21 this, SIGNAL(changeSize(int, int) ) );
21 connect(m_teEmu, SIGNAL(sndBlock(const char*, int) ), 22 connect(m_teEmu, SIGNAL(sndBlock(const char*, int) ),
@@ -25,15 +26,18 @@ EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const c
25 load( prof ); 26 load( prof );
26 27
27 28
28 29
29} 30}
30EmulationHandler::~EmulationHandler() { 31EmulationHandler::~EmulationHandler() {
32 if (isRecording())
33 clearScript();
31 delete m_teEmu; 34 delete m_teEmu;
32 delete m_teWid; 35 delete m_teWid;
33} 36}
37
34void EmulationHandler::load( const Profile& prof) { 38void EmulationHandler::load( const Profile& prof) {
35 m_teWid->setVTFont( font( prof.readNumEntry("Font") ) ); 39 m_teWid->setVTFont( font( prof.readNumEntry("Font") ) );
36 int num = prof.readNumEntry("Color"); 40 int num = prof.readNumEntry("Color");
37 setColor( foreColor(num), backColor(num) ); 41 setColor( foreColor(num), backColor(num) );
38 m_teWid->setBackgroundColor(backColor(num) ); 42 m_teWid->setBackgroundColor(backColor(num) );
39} 43}
@@ -42,12 +46,14 @@ void EmulationHandler::recv( const QByteArray& ar) {
42} 46}
43void EmulationHandler::recvEmulation(const char* src, int len ) { 47void EmulationHandler::recvEmulation(const char* src, int len ) {
44 QByteArray ar(len); 48 QByteArray ar(len);
45 49
46 memcpy(ar.data(), src, sizeof(char) * len ); 50 memcpy(ar.data(), src, sizeof(char) * len );
47 51
52 if (isRecording())
53 m_script->append(ar);
48 emit send(ar); 54 emit send(ar);
49} 55}
50QWidget* EmulationHandler::widget() { 56QWidget* EmulationHandler::widget() {
51 return m_teWid; 57 return m_teWid;
52} 58}
53/* 59/*
@@ -142,6 +148,32 @@ QColor EmulationHandler::backColor(int col ) {
142 return co; 148 return co;
143} 149}
144 150
145QPushButton* EmulationHandler::cornerButton() { 151QPushButton* EmulationHandler::cornerButton() {
146 return m_teWid->cornerButton(); 152 return m_teWid->cornerButton();
147} 153}
154
155
156Script *EmulationHandler::script() {
157 return m_script;
158}
159
160bool EmulationHandler::isRecording() {
161 return (m_script != 0);
162}
163
164void EmulationHandler::startRecording() {
165 if (!isRecording())
166 m_script = new Script();
167}
168
169void EmulationHandler::clearScript() {
170 if (isRecording()) {
171 delete m_script;
172 m_script = 0;
173 }
174}
175
176void EmulationHandler::runScript(const Script *script) {
177 emit send(script->script());
178}
179