-rw-r--r-- | noncore/apps/opie-console/common.h | 10 | ||||
-rw-r--r-- | noncore/apps/opie-console/emulation_layer.cpp | 48 | ||||
-rw-r--r-- | noncore/apps/opie-console/emulation_layer.h | 6 | ||||
-rw-r--r-- | noncore/apps/opie-console/screen.cpp | 22 | ||||
-rw-r--r-- | noncore/apps/opie-console/screen.h | 6 | ||||
-rw-r--r-- | noncore/apps/opie-console/vt102emulation.cpp | 18 | ||||
-rw-r--r-- | noncore/apps/opie-console/vt102emulation.h | 2 | ||||
-rw-r--r-- | noncore/apps/opie-console/widget_layer.h | 11 |
8 files changed, 68 insertions, 55 deletions
diff --git a/noncore/apps/opie-console/common.h b/noncore/apps/opie-console/common.h index 979c2bd..a621ff5 100644 --- a/noncore/apps/opie-console/common.h +++ b/noncore/apps/opie-console/common.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* -------------------------------------------------------------------------- */ | 1 | /* -------------------------------------------------------------------------- */ |
2 | /* */ | 2 | /* */ |
3 | /* [TECommon.h] Common Definitions */ | 3 | /* [Common.h] Common Definitions */ |
4 | /* */ | 4 | /* */ |
5 | /* -------------------------------------------------------------------------- */ | 5 | /* -------------------------------------------------------------------------- */ |
@@ -17,10 +17,10 @@ | |||
17 | /* -------------------------------------------------------------------------- */ | 17 | /* -------------------------------------------------------------------------- */ |
18 | 18 | ||
19 | /*! \file TECommon.h | 19 | /*! \file Common.h |
20 | \brief Definitions shared between TEScreen and TEWidget. | 20 | \brief Definitions shared between TEScreen and TEWidget. |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #ifndef TECOMMON_H | 23 | #ifndef COMMON_H |
24 | #define TECOMMON_H | 24 | #define COMMON_H |
25 | 25 | ||
26 | #include <qcolor.h> | 26 | #include <qcolor.h> |
@@ -112,3 +112,3 @@ struct ColorEntry | |||
112 | }; | 112 | }; |
113 | 113 | ||
114 | #endif // TECOMMON_H | 114 | #endif // COMMON_H |
diff --git a/noncore/apps/opie-console/emulation_layer.cpp b/noncore/apps/opie-console/emulation_layer.cpp index 6c420e0..5baf05c 100644 --- a/noncore/apps/opie-console/emulation_layer.cpp +++ b/noncore/apps/opie-console/emulation_layer.cpp | |||
@@ -77,5 +77,5 @@ | |||
77 | 77 | ||
78 | #include "emulation_layer.h" | 78 | #include "emulation_layer.h" |
79 | #include "widget.h" | 79 | #include "widget_layer.h" |
80 | #include "screen.h" | 80 | #include "screen.h" |
81 | #include <stdio.h> | 81 | #include <stdio.h> |
@@ -96,11 +96,11 @@ | |||
96 | */ | 96 | */ |
97 | 97 | ||
98 | EmulationLayer::EmulationLayer(Widget* gui) | 98 | EmulationLayer::EmulationLayer( WidgetLayer* gui ) |
99 | : decoder((QTextDecoder*)NULL) | 99 | : decoder((QTextDecoder*)NULL) |
100 | { | 100 | { |
101 | this->gui = gui; | 101 | this->gui = gui; |
102 | 102 | ||
103 | screen[0] = new Screen(gui->Lines(),gui->Columns()); | 103 | screen[0] = new Screen(gui->lines(),gui->columns()); |
104 | screen[1] = new Screen(gui->Lines(),gui->Columns()); | 104 | screen[1] = new Screen(gui->lines(),gui->columns()); |
105 | scr = screen[0]; | 105 | scr = screen[0]; |
106 | 106 | ||
@@ -109,19 +109,19 @@ EmulationLayer::EmulationLayer(Widget* gui) | |||
109 | connected = FALSE; | 109 | connected = FALSE; |
110 | 110 | ||
111 | QObject::connect(&bulk_timer, SIGNAL(timeout()), this, SLOT(showBulk()) ); | 111 | QObject::connect(&bulk_timer, SIGNAL( timeout() ), this, SLOT( showBulk() ) ); |
112 | QObject::connect(gui,SIGNAL(changedImageSizeSignal(int,int)), | 112 | QObject::connect(gui,SIGNAL( imageSizeChanged( int, int ) ), |
113 | this,SLOT(onImageSizeChange(int,int))); | 113 | this,SLOT( onImageSizeChange( int, int ) ) ); |
114 | QObject::connect(gui,SIGNAL(changedHistoryCursor(int)), | 114 | QObject::connect(gui,SIGNAL( changedHistoryCursor( int ) ), |
115 | this,SLOT(onHistoryCursorChange(int))); | 115 | this,SLOT( historyCursorChange( int ) ) ); |
116 | QObject::connect(gui,SIGNAL(keyPressedSignal(QKeyEvent*)), | 116 | QObject::connect(gui,SIGNAL( keyPressed( QKeyEvent* ) ), |
117 | this,SLOT(onKeyPress(QKeyEvent*))); | 117 | this,SLOT( onKeyPress( QKeyEvent* ) ) ); |
118 | QObject::connect(gui,SIGNAL(beginSelectionSignal(const int,const int)), | 118 | QObject::connect(gui,SIGNAL( selectionBegin( const int, const int) ), |
119 | this,SLOT(onSelectionBegin(const int,const int)) ); | 119 | this,SLOT( onSelectionBegin( const int, const int ) ) ); |
120 | QObject::connect(gui,SIGNAL(extendSelectionSignal(const int,const int)), | 120 | QObject::connect(gui,SIGNAL( selectionExtended( const int, const int ) ), |
121 | this,SLOT(onSelectionExtend(const int,const int)) ); | 121 | this,SLOT( onSelectionExtend( const int,const int ) ) ); |
122 | QObject::connect(gui,SIGNAL(endSelectionSignal(const BOOL)), | 122 | QObject::connect(gui,SIGNAL( selectionEnd( const bool ) ), |
123 | this,SLOT(setSelection(const BOOL)) ); | 123 | this,SLOT( setSelection( const bool ) ) ); |
124 | QObject::connect(gui,SIGNAL(clearSelectionSignal()), | 124 | QObject::connect(gui,SIGNAL( selectionCleared() ), |
125 | this,SLOT(clearSelection()) ); | 125 | this,SLOT( clearSelection() ) ); |
126 | } | 126 | } |
127 | 127 | ||
@@ -198,5 +198,5 @@ void EmulationLayer::onRcvChar(int c) | |||
198 | case '\n' : scr->NewLine(); break; | 198 | case '\n' : scr->NewLine(); break; |
199 | case '\r' : scr->Return(); break; | 199 | case '\r' : scr->Return(); break; |
200 | case 0x07 : gui->Bell(); break; | 200 | case 0x07 : gui->bell(); break; |
201 | default : scr->ShowCharacter(c); break; | 201 | default : scr->ShowCharacter(c); break; |
202 | }; | 202 | }; |
@@ -304,9 +304,9 @@ void EmulationLayer::showBulk() | |||
304 | if (connected) | 304 | if (connected) |
305 | { | 305 | { |
306 | Character* image = scr->getCookedImage(); // get the image | 306 | QArray<Character> image = scr->getCookedImage(); // get the image |
307 | gui->setImage(image, | 307 | gui->setImage(image, |
308 | scr->getLines(), | 308 | scr->getLines(), |
309 | scr->getColumns()); // actual refresh | 309 | scr->getColumns()); // actual refresh |
310 | free(image); | 310 | delete image; |
311 | //FIXME: check that we do not trigger other draw event here. | 311 | //FIXME: check that we do not trigger other draw event here. |
312 | gui->setScroll(scr->getHistCursor(),scr->getHistLines()); | 312 | gui->setScroll(scr->getHistCursor(),scr->getHistLines()); |
@@ -321,5 +321,5 @@ void EmulationLayer::bulkStart() | |||
321 | void EmulationLayer::bulkEnd() | 321 | void EmulationLayer::bulkEnd() |
322 | { | 322 | { |
323 | if ( bulk_nlcnt > gui->Lines() || bulk_incnt > 20 ) | 323 | if ( bulk_nlcnt > gui->lines() || bulk_incnt > 20 ) |
324 | showBulk(); // resets bulk_??cnt to 0, too. | 324 | showBulk(); // resets bulk_??cnt to 0, too. |
325 | else | 325 | else |
@@ -332,5 +332,5 @@ void EmulationLayer::setConnect(bool c) | |||
332 | if ( connected) | 332 | if ( connected) |
333 | { | 333 | { |
334 | onImageSizeChange(gui->Lines(), gui->Columns()); | 334 | onImageSizeChange(gui->lines(), gui->columns()); |
335 | showBulk(); | 335 | showBulk(); |
336 | } | 336 | } |
diff --git a/noncore/apps/opie-console/emulation_layer.h b/noncore/apps/opie-console/emulation_layer.h index 5781acc..91a4856 100644 --- a/noncore/apps/opie-console/emulation_layer.h +++ b/noncore/apps/opie-console/emulation_layer.h | |||
@@ -39,5 +39,5 @@ class EmulationLayer : public QObject | |||
39 | public: | 39 | public: |
40 | 40 | ||
41 | EmulationLayer(Widget* gui); | 41 | EmulationLayer( WidgetLayer* gui ); |
42 | ~EmulationLayer(); | 42 | ~EmulationLayer(); |
43 | 43 | ||
@@ -55,5 +55,5 @@ public slots: // signals incoming from Widget | |||
55 | virtual void onSelectionBegin(const int x, const int y); | 55 | virtual void onSelectionBegin(const int x, const int y); |
56 | virtual void onSelectionExtend(const int x, const int y); | 56 | virtual void onSelectionExtend(const int x, const int y); |
57 | virtual void setSelection(const BOOL preserve_line_breaks); | 57 | virtual void setSelection(const bool preserve_line_breaks); |
58 | 58 | ||
59 | public slots: // signals incoming from data source | 59 | public slots: // signals incoming from data source |
@@ -107,5 +107,5 @@ public: | |||
107 | protected: | 107 | protected: |
108 | 108 | ||
109 | Widget* gui; | 109 | WidgetLayer* gui; |
110 | Screen* scr; // referes to one `screen' | 110 | Screen* scr; // referes to one `screen' |
111 | Screen* screen[2]; // 0 = primary, 1 = alternate | 111 | Screen* screen[2]; // 0 = primary, 1 = alternate |
diff --git a/noncore/apps/opie-console/screen.cpp b/noncore/apps/opie-console/screen.cpp index 8ebc47d..a796ba1 100644 --- a/noncore/apps/opie-console/screen.cpp +++ b/noncore/apps/opie-console/screen.cpp | |||
@@ -69,5 +69,5 @@ Screen::Screen(int lines, int columns) | |||
69 | this->columns = columns; | 69 | this->columns = columns; |
70 | 70 | ||
71 | image = (Character*) malloc(lines*columns*sizeof(Character)); | 71 | image = QArray<Character>( lines*columns ); |
72 | tabstops = NULL; initTabStops(); | 72 | tabstops = NULL; initTabStops(); |
73 | 73 | ||
@@ -83,5 +83,5 @@ Screen::Screen(int lines, int columns) | |||
83 | Screen::~Screen() | 83 | Screen::~Screen() |
84 | { | 84 | { |
85 | free(image); | 85 | delete image; |
86 | if (tabstops) free(tabstops); | 86 | if (tabstops) free(tabstops); |
87 | } | 87 | } |
@@ -395,5 +395,5 @@ void Screen::resizeImage(int new_lines, int new_columns) | |||
395 | 395 | ||
396 | // make new image | 396 | // make new image |
397 | Character* newimg = (Character*) malloc(new_lines*new_columns*sizeof(Character)); | 397 | QArray<Character> newimg = QArray<Character>( new_lines * new_columns ); |
398 | 398 | ||
399 | clearSelection(); | 399 | clearSelection(); |
@@ -419,5 +419,5 @@ void Screen::resizeImage(int new_lines, int new_columns) | |||
419 | newimg[y*new_columns+x].r = image[loc(x,y)].r; | 419 | newimg[y*new_columns+x].r = image[loc(x,y)].r; |
420 | } | 420 | } |
421 | free(image); | 421 | delete image; |
422 | image = newimg; | 422 | image = newimg; |
423 | lines = new_lines; | 423 | lines = new_lines; |
@@ -467,5 +467,5 @@ void Screen::resizeImage(int new_lines, int new_columns) | |||
467 | */ | 467 | */ |
468 | 468 | ||
469 | void Screen::reverseRendition(Character* p) | 469 | void Screen::reverseRendition(Character *p) |
470 | { UINT8 f = p->f; UINT8 b = p->b; | 470 | { UINT8 f = p->f; UINT8 b = p->b; |
471 | p->f = b; p->b = f; //p->r &= ~RE_TRANSPARENT; | 471 | p->f = b; p->b = f; //p->r &= ~RE_TRANSPARENT; |
@@ -505,7 +505,7 @@ void Screen::effectiveRendition() | |||
505 | */ | 505 | */ |
506 | 506 | ||
507 | Character* Screen::getCookedImage() | 507 | QArray<Character> Screen::getCookedImage() |
508 | { int x,y; | 508 | { int x,y; |
509 | Character* merged = (Character*) malloc(lines*columns*sizeof(Character)); | 509 | Character* merged = (Character*) malloc( lines * columns * sizeof( Character ) ); |
510 | Character dft(' ',DEFAULT_FORE_COLOR,DEFAULT_BACK_COLOR,DEFAULT_RENDITION); | 510 | Character dft(' ',DEFAULT_FORE_COLOR,DEFAULT_BACK_COLOR,DEFAULT_RENDITION); |
511 | 511 | ||
@@ -516,5 +516,5 @@ Character* Screen::getCookedImage() | |||
516 | int yq = (y+histCursor)*columns; | 516 | int yq = (y+histCursor)*columns; |
517 | 517 | ||
518 | hist.getCells(y+histCursor,0,len,merged+yp); | 518 | hist.getCells( y+histCursor, 0, len, merged+yp ); |
519 | for (x = len; x < columns; x++) merged[yp+x] = dft; | 519 | for (x = len; x < columns; x++) merged[yp+x] = dft; |
520 | for (x = 0; x < columns; x++) | 520 | for (x = 0; x < columns; x++) |
@@ -548,5 +548,7 @@ Character* Screen::getCookedImage() | |||
548 | if (getMode(MODE_Cursor) && (cuY+(hist.getLines()-histCursor) < lines)) // cursor visible | 548 | if (getMode(MODE_Cursor) && (cuY+(hist.getLines()-histCursor) < lines)) // cursor visible |
549 | reverseRendition(&merged[loc(cuX,cuY+(hist.getLines()-histCursor))]); | 549 | reverseRendition(&merged[loc(cuX,cuY+(hist.getLines()-histCursor))]); |
550 | return merged; | 550 | QArray<Character> res( sizeof( merged ) / sizeof( Character ) ); |
551 | res.assign( merged, sizeof( merged ) / sizeof( Character ) ); | ||
552 | return res; | ||
551 | } | 553 | } |
552 | 554 | ||
@@ -1160,5 +1162,5 @@ void Screen::addHistLine() | |||
1160 | end -= 1; | 1162 | end -= 1; |
1161 | 1163 | ||
1162 | hist.addCells(image,end+1); | 1164 | hist.addCells(image.data(), end+1); |
1163 | hist.addLine(); | 1165 | hist.addLine(); |
1164 | 1166 | ||
diff --git a/noncore/apps/opie-console/screen.h b/noncore/apps/opie-console/screen.h index cd7422a..38b84ab 100644 --- a/noncore/apps/opie-console/screen.h +++ b/noncore/apps/opie-console/screen.h | |||
@@ -137,5 +137,5 @@ public: // these are all `Screen' operations | |||
137 | void resizeImage(int new_lines, int new_columns); | 137 | void resizeImage(int new_lines, int new_columns); |
138 | // | 138 | // |
139 | Character* getCookedImage(); | 139 | QArray<Character> getCookedImage(); |
140 | 140 | ||
141 | /*! return the number of lines. */ | 141 | /*! return the number of lines. */ |
@@ -176,5 +176,5 @@ private: // helper | |||
176 | 176 | ||
177 | void effectiveRendition(); | 177 | void effectiveRendition(); |
178 | void reverseRendition(Character* p); | 178 | void reverseRendition( Character *p ); |
179 | 179 | ||
180 | private: | 180 | private: |
@@ -194,5 +194,5 @@ private: | |||
194 | int lines; | 194 | int lines; |
195 | int columns; | 195 | int columns; |
196 | Character *image; // [lines][columns] | 196 | QArray<Character> image; // [lines][columns] |
197 | 197 | ||
198 | // history buffer --------------- | 198 | // history buffer --------------- |
diff --git a/noncore/apps/opie-console/vt102emulation.cpp b/noncore/apps/opie-console/vt102emulation.cpp index 2220f4e..7eecef3 100644 --- a/noncore/apps/opie-console/vt102emulation.cpp +++ b/noncore/apps/opie-console/vt102emulation.cpp | |||
@@ -66,5 +66,5 @@ | |||
66 | */ | 66 | */ |
67 | 67 | ||
68 | Vt102Emulation::Vt102Emulation(Widget* gui) : EmulationLayer(gui) | 68 | Vt102Emulation::Vt102Emulation(WidgetLayer* gui) : EmulationLayer(gui) |
69 | { | 69 | { |
70 | QObject::connect(gui,SIGNAL(mouseSignal(int,int,int)), | 70 | QObject::connect(gui,SIGNAL(mouseSignal(int,int,int)), |
@@ -350,5 +350,5 @@ void Vt102Emulation::tau( int token, int p, int q ) | |||
350 | case TY_CTL___('E' ) : reportAnswerBack ( ); break; //VT100 | 350 | case TY_CTL___('E' ) : reportAnswerBack ( ); break; //VT100 |
351 | case TY_CTL___('F' ) : /* ACK: ignored */ break; | 351 | case TY_CTL___('F' ) : /* ACK: ignored */ break; |
352 | case TY_CTL___('G' ) : gui->Bell ( ); break; //VT100 | 352 | case TY_CTL___('G' ) : gui->bell ( ); break; //VT100 |
353 | case TY_CTL___('H' ) : scr->BackSpace ( ); break; //VT100 | 353 | case TY_CTL___('H' ) : scr->BackSpace ( ); break; //VT100 |
354 | case TY_CTL___('I' ) : scr->Tabulate ( ); break; //VT100 | 354 | case TY_CTL___('I' ) : scr->Tabulate ( ); break; //VT100 |
@@ -738,9 +738,9 @@ void Vt102Emulation::onKeyPress( QKeyEvent* ev ) | |||
738 | switch(cmd) // ... and execute if found. | 738 | switch(cmd) // ... and execute if found. |
739 | { | 739 | { |
740 | case CMD_emitSelection : gui->emitSelection(); return; | 740 | case CMD_emitSelection : gui->insertSelection(); return; |
741 | case CMD_scrollPageUp : gui->doScroll(-gui->Lines()/2); return; | 741 | case CMD_scrollPageUp : gui->scroll(-gui->lines()/2); return; |
742 | case CMD_scrollPageDown : gui->doScroll(+gui->Lines()/2); return; | 742 | case CMD_scrollPageDown : gui->scroll(+gui->lines()/2); return; |
743 | case CMD_scrollLineUp : gui->doScroll(-1 ); return; | 743 | case CMD_scrollLineUp : gui->scroll(-1 ); return; |
744 | case CMD_scrollLineDown : gui->doScroll(+1 ); return; | 744 | case CMD_scrollLineDown : gui->scroll(+1 ); return; |
745 | case CMD_send : sendString( txt ); return; | 745 | case CMD_send : sendString( txt ); return; |
746 | case CMD_prevSession : emit prevSession(); return; | 746 | case CMD_prevSession : emit prevSession(); return; |
@@ -925,5 +925,5 @@ void Vt102Emulation::setMode(int m) | |||
925 | switch (m) | 925 | switch (m) |
926 | { | 926 | { |
927 | case MODE_Mouse1000 : gui->setMouseMarks(FALSE); | 927 | case MODE_Mouse1000 : //gui->setMouseMarks(FALSE); |
928 | break; | 928 | break; |
929 | case MODE_AppScreen : screen[1]->clearSelection(); | 929 | case MODE_AppScreen : screen[1]->clearSelection(); |
@@ -944,5 +944,5 @@ void Vt102Emulation::resetMode(int m) | |||
944 | switch (m) | 944 | switch (m) |
945 | { | 945 | { |
946 | case MODE_Mouse1000 : gui->setMouseMarks(TRUE); | 946 | case MODE_Mouse1000 : //gui->setMouseMarks(TRUE); |
947 | break; | 947 | break; |
948 | case MODE_AppScreen : screen[0]->clearSelection(); | 948 | case MODE_AppScreen : screen[0]->clearSelection(); |
diff --git a/noncore/apps/opie-console/vt102emulation.h b/noncore/apps/opie-console/vt102emulation.h index a3d0ae6..de4a62f 100644 --- a/noncore/apps/opie-console/vt102emulation.h +++ b/noncore/apps/opie-console/vt102emulation.h | |||
@@ -61,5 +61,5 @@ class Vt102Emulation: public EmulationLayer | |||
61 | public: | 61 | public: |
62 | 62 | ||
63 | Vt102Emulation(Widget* gui); | 63 | Vt102Emulation(WidgetLayer* gui); |
64 | ~Vt102Emulation(); | 64 | ~Vt102Emulation(); |
65 | 65 | ||
diff --git a/noncore/apps/opie-console/widget_layer.h b/noncore/apps/opie-console/widget_layer.h index 6e2e61e..5bd2ef9 100644 --- a/noncore/apps/opie-console/widget_layer.h +++ b/noncore/apps/opie-console/widget_layer.h | |||
@@ -107,4 +107,15 @@ public: | |||
107 | 107 | ||
108 | 108 | ||
109 | /** | ||
110 | * sets the scrollbar (if implemented by successor of this class) | ||
111 | */ | ||
112 | virtual void setScroll( int cursor, int slines ); | ||
113 | |||
114 | /** | ||
115 | * scrolls (if implemented, by successor of this class) | ||
116 | * @param int value, how much the widget should scroll up (positive value) or down (negative value) | ||
117 | */ | ||
118 | virtual void scroll( int value ); | ||
119 | |||
109 | signals: | 120 | signals: |
110 | 121 | ||