Diffstat (limited to 'noncore/apps/opie-console/emulation_handler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/emulation_handler.cpp | 89 |
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 | |||
@@ -1,11 +1,12 @@ | |||
1 | #include <qwidget.h> | 1 | #include <qwidget.h> |
2 | 2 | ||
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 | ||
9 | EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const char* name ) | 10 | EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const char* name ) |
10 | : QObject(0, name ) | 11 | : QObject(0, name ) |
11 | { | 12 | { |
@@ -26,17 +27,17 @@ EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const c | |||
26 | 27 | ||
27 | } | 28 | } |
28 | EmulationHandler::~EmulationHandler() { | 29 | EmulationHandler::~EmulationHandler() { |
29 | delete m_teEmu; | 30 | delete m_teEmu; |
30 | delete m_teWid; | 31 | delete m_teWid; |
31 | } | 32 | } |
32 | void EmulationHandler::load( const Profile& ) { | 33 | void 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 | } |
38 | void EmulationHandler::recv( const QByteArray& ar) { | 39 | void EmulationHandler::recv( const QByteArray& ar) { |
39 | qWarning("received in EmulationHandler!"); | 40 | qWarning("received in EmulationHandler!"); |
40 | m_teEmu->onRcvBlock(ar.data(), ar.count() ); | 41 | m_teEmu->onRcvBlock(ar.data(), ar.count() ); |
41 | } | 42 | } |
42 | void EmulationHandler::recvEmulation(const char* src, int len ) { | 43 | void EmulationHandler::recvEmulation(const char* src, int len ) { |
@@ -47,6 +48,84 @@ void EmulationHandler::recvEmulation(const char* src, int len ) { | |||
47 | 48 | ||
48 | emit send(ar); | 49 | emit send(ar); |
49 | } | 50 | } |
50 | QWidget* EmulationHandler::widget() { | 51 | QWidget* EmulationHandler::widget() { |
51 | return m_teWid; | 52 | return m_teWid; |
52 | } | 53 | } |
54 | /* | ||
55 | * allocate a new table of colors | ||
56 | */ | ||
57 | void 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 | } | ||
74 | QFont 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 | } | ||
96 | QColor 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 | } | ||
114 | QColor 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 | } | ||