summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/emulation_handler.cpp
Unidiff
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.cpp89
1 files changed, 84 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/emulation_handler.cpp b/noncore/apps/opie-console/emulation_handler.cpp
index 9e7f56c..48218e6 100644
--- a/noncore/apps/opie-console/emulation_handler.cpp
+++ b/noncore/apps/opie-console/emulation_handler.cpp
@@ -3,6 +3,7 @@
3#include "TEWidget.h" 3#include "TEWidget.h"
4#include "TEmuVt102.h" 4#include "TEmuVt102.h"
5 5
6#include "profile.h"
6#include "emulation_handler.h" 7#include "emulation_handler.h"
7 8
8 9
@@ -29,11 +30,11 @@ EmulationHandler::~EmulationHandler() {
29 delete m_teEmu; 30 delete m_teEmu;
30 delete m_teWid; 31 delete m_teWid;
31} 32}
32void EmulationHandler::load( const Profile& ) { 33void EmulationHandler::load( const Profile& prof) {
33 QFont font = QFont("Fixed", 12, QFont::Normal ); 34 m_teWid->setVTFont( font( prof.readNumEntry("Font") ) );
34 font.setFixedPitch(TRUE); 35 int num = prof.readNumEntry("Color");
35 m_teWid->setVTFont( font ); 36 setColor( foreColor(num), backColor(num) );
36 m_teWid->setBackgroundColor(Qt::gray ); 37 m_teWid->setBackgroundColor(backColor(num) );
37} 38}
38void EmulationHandler::recv( const QByteArray& ar) { 39void EmulationHandler::recv( const QByteArray& ar) {
39 qWarning("received in EmulationHandler!"); 40 qWarning("received in EmulationHandler!");
@@ -50,3 +51,81 @@ void EmulationHandler::recvEmulation(const char* src, int len ) {
50QWidget* EmulationHandler::widget() { 51QWidget* EmulationHandler::widget() {
51 return m_teWid; 52 return m_teWid;
52} 53}
54/*
55 * allocate a new table of colors
56 */
57void EmulationHandler::setColor( const QColor& fore, const QColor& back ) {
58 ColorEntry table[TABLE_COLORS];
59 const ColorEntry *defaultCt = m_teWid->getdefaultColorTable();
60
61 for (int i = 0; i < TABLE_COLORS; i++ ) {
62 if ( i == 0 || i == 10 ) {
63 table[i].color = fore;
64 }else if ( i == 1 || i == 11 ) {
65 table[i].color = back;
66 table[i].transparent = 0;
67 }else {
68 table[i].color = defaultCt[i].color;
69 }
70 }
71// m_teWid->setColorTable(table );
72 m_teWid->update();
73}
74QFont EmulationHandler::font( int id ) {
75 QString name;
76 int size = 0;
77 switch(id ) {
78 default: // fall through
79 case 0:
80 name = QString::fromLatin1("Micro");
81 size = 4;
82 break;
83 case 1:
84 name = QString::fromLatin1("Fixed");
85 size = 7;
86 break;
87 case 2:
88 name = QString::fromLatin1("Fixed");
89 size = 12;
90 break;
91 }
92 QFont font(name, size, QFont::Normal );
93 font.setFixedPitch(TRUE );
94 return font;
95}
96QColor EmulationHandler::foreColor(int col) {
97 QColor co;
98 /* we need to switch it */
99 switch( col ) {
100 default:
101 case Profile::White:
102 qWarning("Foreground black");
103 /* color is black */
104 co = Qt::black;
105 break;
106 case Profile::Black:
107 qWarning("Foreground white");
108 co = Qt::white;
109 break;
110 }
111
112 return co;
113}
114QColor EmulationHandler::backColor(int col ) {
115 QColor co;
116 /* we need to switch it */
117 switch( col ) {
118 default:
119 case Profile::White:
120 qWarning("Background white");
121 /* color is white */
122 co = Qt::white;
123 break;
124 case Profile::Black:
125 qWarning("Background black");
126 co = Qt::black;
127 break;
128 }
129
130 return co;
131}