summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/function_keyboard.cpp43
-rw-r--r--noncore/apps/opie-console/function_keyboard.h9
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp2
3 files changed, 31 insertions, 23 deletions
diff --git a/noncore/apps/opie-console/function_keyboard.cpp b/noncore/apps/opie-console/function_keyboard.cpp
index ac35d1c..4119ad4 100644
--- a/noncore/apps/opie-console/function_keyboard.cpp
+++ b/noncore/apps/opie-console/function_keyboard.cpp
@@ -1,53 +1,54 @@
1#include "function_keyboard.h" 1#include "function_keyboard.h"
2#include <qsizepolicy.h> 2#include <qsizepolicy.h>
3#include <qevent.h> 3#include <qevent.h>
4#include <qwindowsystem_qws.h> 4#include <qwindowsystem_qws.h>
5#include <qapplication.h> 5#include <qapplication.h>
6 6
7FunctionKeyboard::FunctionKeyboard(QWidget *parent) : 7FunctionKeyboard::FunctionKeyboard(QWidget *parent) :
8 QFrame(parent), numRows(1), numCols(11), 8 QFrame(parent), numRows(2), numCols(11),
9 pressedRow(0), pressedCol(0) { 9 pressedRow(0), pressedCol(0) {
10 10
11 setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed)); 11 setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
12 12
13 Config conf("opie-console-keys"); 13 Config conf("opie-console-keys");
14 conf.setGroup("keys"); 14 conf.setGroup("keys");
15 for (int r = 0; r < numRows; r++) 15 for (int r = 0; r < numRows; r++)
16 for (int c = 0; c < numCols; c++) { 16 for (int c = 0; c < numCols; c++) {
17 17
18 QString handle = "r" + QString::number(r) + "c" + QString::number(c); 18 QString handle = "r" + QString::number(r) + "c" + QString::number(c);
19 QStringList value_list = conf.readListEntry( handle, '|'); 19 QStringList value_list = conf.readListEntry( handle, '|');
20 20
21 if (value_list.isEmpty()) continue; 21 if (value_list.isEmpty()) continue;
22 22
23 keys.insert( 23 keys.insert(
24 24
25 handle, 25 handle,
26 FKey (value_list[0], value_list[1].toUShort(), value_list[2].toUShort()) 26 FKey (value_list[0], value_list[1].toUShort(), value_list[2].toUShort())
27 ); 27 );
28 } 28 }
29 qWarning("loaded %d keys", keys.count()); 29 //qWarning("loaded %d keys", keys.count());
30 if (keys.isEmpty()) loadDefaults();
30 31
31 32
32 33
33} 34}
34 35
35FunctionKeyboard::~FunctionKeyboard() { 36FunctionKeyboard::~FunctionKeyboard() {
36 37
37} 38}
38 39
39void FunctionKeyboard::paintEvent(QPaintEvent *e) { 40void FunctionKeyboard::paintEvent(QPaintEvent *e) {
40 41
41 QPainter p(this); 42 QPainter p(this);
42 p.setClipRect(e->rect()); 43 p.setClipRect(e->rect());
43 p.fillRect(0, 0, width(), height(), QColor(255,255,255)); 44 p.fillRect(0, 0, width(), height(), QColor(255,255,255));
44 45
45 p.setPen(QColor(0,0,0)); 46 p.setPen(QColor(0,0,0));
46 47
47 /* those decimals do count! becomes short if use plain int */ 48 /* those decimals do count! becomes short if use plain int */
48 for (double i = 0; i <= width(); i += keyWidth) { 49 for (double i = 0; i <= width(); i += keyWidth) {
49 50
50 p.drawLine((int)i, 0, (int)i, height()); 51 p.drawLine((int)i, 0, (int)i, height());
51 } 52 }
52 53
53 // sometimes the last line doesnt get drawn 54 // sometimes the last line doesnt get drawn
@@ -80,73 +81,77 @@ void FunctionKeyboard::paintKey(int row, int col) {
80 QPainter p(this); 81 QPainter p(this);
81 82
82 p.fillRect(QRect(QPoint(col * keyWidth + 1, row * keyHeight + 1), 83 p.fillRect(QRect(QPoint(col * keyWidth + 1, row * keyHeight + 1),
83 QPoint((col + 1) * keyWidth - 1, row * keyHeight + keyHeight- 1)), 84 QPoint((col + 1) * keyWidth - 1, row * keyHeight + keyHeight- 1)),
84 (pressedRow != -1 && pressedCol != -1 ) ? QColor(97,119,155) : QColor(255,255,255)); 85 (pressedRow != -1 && pressedCol != -1 ) ? QColor(97,119,155) : QColor(255,255,255));
85 p.drawText( 86 p.drawText(
86 col * keyWidth + 1, row * keyHeight + 1, 87 col * keyWidth + 1, row * keyHeight + 1,
87 keyWidth, keyHeight, 88 keyWidth, keyHeight,
88 Qt::AlignHCenter | Qt::AlignVCenter, 89 Qt::AlignHCenter | Qt::AlignVCenter,
89 keys["r" + QString::number(row) + "c" + QString::number(col)].getL() 90 keys["r" + QString::number(row) + "c" + QString::number(col)].getL()
90 ); 91 );
91 92
92} 93}
93 94
94void FunctionKeyboard::mousePressEvent(QMouseEvent *e) { 95void FunctionKeyboard::mousePressEvent(QMouseEvent *e) {
95 96
96 pressedRow = e->y() / keyHeight; 97 pressedRow = e->y() / keyHeight;
97 pressedCol = (int) (e->x() / keyWidth); 98 pressedCol = (int) (e->x() / keyWidth);
98 99
99 paintKey(pressedRow, pressedCol); 100 paintKey(pressedRow, pressedCol);
100 101
101 // emit that sucker! 102 // emit that sucker!
102 FKey k = keys["r" + QString::number(pressedRow) + "c" + QString::number(pressedCol)]; 103 FKey k = keys["r" + QString::number(pressedRow) + "c" + QString::number(pressedCol)];
103 emit keyPressed(k.getU(), k.getQ(), 0, 1, 0); 104 emit keyPressed(k.getU(), k.getQ(), 0, 1, 0);
104 /*
105 *
106 QWSServer::sendKeyEvent(k.getU(), k.getQ(), 0, 1, 0);
107 qwsServer->sendKeyEvent(k.getU(), k.getQ(), 0, 1, 0);
108 qwsServer->sendKeyEvent(0x41, 0, 0, 1, 0);
109
110 QKeyEvent ke(QEvent::KeyPress, k.getQ(), k.getU(), 0);
111 QApplication::sendEvent((QObject *)parent, &ke);
112 */
113 105
114} 106}
115 107
116void FunctionKeyboard::mouseReleaseEvent(QMouseEvent *) { 108void FunctionKeyboard::mouseReleaseEvent(QMouseEvent *) {
117 109
118 if (pressedRow != -1 && pressedRow != -1) { 110 if (pressedRow != -1 && pressedRow != -1) {
119 111
120 int row = pressedRow; pressedRow = -1; 112 int row = pressedRow; pressedRow = -1;
121 int col = pressedCol; pressedCol = -1; 113 int col = pressedCol; pressedCol = -1;
122 paintKey(row, col); 114 paintKey(row, col);
123 115
124 FKey k = keys["r" + QString::number(row) + "c" + QString::number(col)]; 116 FKey k = keys["r" + QString::number(row) + "c" + QString::number(col)];
125 emit keyPressed(k.getU(), k.getQ(), 0, 0, 0); 117 emit keyPressed(k.getU(), k.getQ(), 0, 0, 0);
126
127 /*
128 QWSServer::sendKeyEvent(k.getU(), k.getQ(), 0, 0, 0);
129 qwsServer->sendKeyEvent(k.getU(), k.getQ(), 0, 0, 0);
130
131 QKeyEvent ke(QEvent::KeyRelease, k.getQ(), k.getU(), 0);
132 QApplication::sendEvent((QObject *)parent, &ke);
133 */
134 } 118 }
135 119
136} 120}
137 121
138 122
139void FunctionKeyboard::resizeEvent(QResizeEvent*) { 123void FunctionKeyboard::resizeEvent(QResizeEvent*) {
140 124
141 /* set he default font height/width */ 125 /* set he default font height/width */
142 QFontMetrics fm=fontMetrics(); 126 QFontMetrics fm=fontMetrics();
143 keyHeight = fm.lineSpacing() + 2; 127 keyHeight = fm.lineSpacing() + 2;
144 keyWidth = (double)width()/numCols; 128 keyWidth = (double)width()/numCols;
145 129
146} 130}
147 131
148QSize FunctionKeyboard::sizeHint() const { 132QSize FunctionKeyboard::sizeHint() const {
149 133
150 return QSize(width(), keyHeight * numRows + 1); 134 return QSize(width(), keyHeight * numRows + 1);
151} 135}
152 136
137void FunctionKeyboard::loadDefaults() {
138
139 /* what keys should be default? */
140 keys.insert( "r0c0", FKey ("F1", 4144, 0));
141 keys.insert( "r0c1", FKey ("F2", 4145, 0));
142 keys.insert( "r0c2", FKey ("F3", 4145, 0));
143 keys.insert( "r0c3", FKey ("F4", 4146, 0));
144 keys.insert( "r0c4", FKey ("F5", 4147, 0));
145 keys.insert( "r0c5", FKey ("F6", 4148, 0));
146 keys.insert( "r0c6", FKey ("F7", 4149, 0));
147 keys.insert( "r0c7", FKey ("F8", 4150, 0));
148 keys.insert( "r0c8", FKey ("F9", 4151, 0));
149 keys.insert( "r0c9", FKey ("F10", 4152, 0));
150 keys.insert( "r0c10", FKey ("F11", 4153, 0));
151
152 keys.insert( "r1c7", FKey ("Ho", 4112, 0));
153 keys.insert( "r1c8", FKey ("End", 4113, 0));
154 keys.insert( "r1c9", FKey ("PU", 4118, 0));
155 keys.insert( "r1c10", FKey ("PD", 4119, 0));
156
157}
diff --git a/noncore/apps/opie-console/function_keyboard.h b/noncore/apps/opie-console/function_keyboard.h
index b8420ae..8d05e2b 100644
--- a/noncore/apps/opie-console/function_keyboard.h
+++ b/noncore/apps/opie-console/function_keyboard.h
@@ -1,64 +1,67 @@
1#ifndef OPIE_FUNCTION_KEYBOARD_H 1#ifndef OPIE_FUNCTION_KEYBOARD_H
2#define OPIE_FUNCTION_KEYBOARD_H 2#define OPIE_FUNCTION_KEYBOARD_H
3 3
4#include <qpe/config.h> 4#include <qpe/config.h>
5#include <qframe.h> 5#include <qframe.h>
6#include <qpainter.h> 6#include <qpainter.h>
7#include <qmap.h> 7#include <qmap.h>
8 8
9class FKey { 9class FKey {
10 10
11public: 11public:
12 12
13 FKey(): qcode(0), unicode(0) {}; 13 FKey(): qcode(0), unicode(0) {};
14 FKey(const QString &l, ushort q, ushort u): label(l), qcode(q), unicode(u) {}; 14 FKey(const QString &l, ushort q, ushort u): label(l), qcode(q), unicode(u) {};
15 15
16 QString getL() { return label; } 16 QString getL() { return label; }
17 ushort getQ() { return qcode; } 17 ushort getQ() { return qcode; }
18 ushort getU() { return unicode; } 18 ushort getU() { return unicode; }
19 19
20
20private: 21private:
21 22
22 QString label; 23 QString label;
23 ushort qcode; 24 ushort qcode;
24 ushort unicode; 25 ushort unicode;
25}; 26};
26 27
27class FunctionKeyboard : public QFrame { 28class FunctionKeyboard : public QFrame {
28 Q_OBJECT 29 Q_OBJECT
29 30
30public: 31public:
31 FunctionKeyboard(QWidget *parent = 0); 32 FunctionKeyboard(QWidget *parent = 0);
32 ~FunctionKeyboard(); 33 ~FunctionKeyboard();
33 34
34 void paintEvent(QPaintEvent *); 35 void paintEvent(QPaintEvent *);
35 void paintKey(int, int); 36 void paintKey(int, int);
36 void mousePressEvent(QMouseEvent*); 37 void mousePressEvent(QMouseEvent*);
37 void mouseReleaseEvent(QMouseEvent*); 38 void mouseReleaseEvent(QMouseEvent*);
38 void resizeEvent(QResizeEvent*); 39 void resizeEvent(QResizeEvent*);
39
40
41
42 QSize sizeHint() const; 40 QSize sizeHint() const;
43 41
44signals: 42signals:
45 43
46 void keyPressed(ushort, ushort, bool, bool, bool); 44 void keyPressed(ushort, ushort, bool, bool, bool);
47 45
48private: 46private:
49 47
48 void loadDefaults();
49
50
51private:
52
50 // thie key for the map is the row/col 53 // thie key for the map is the row/col
51 QMap<QString, FKey> keys; 54 QMap<QString, FKey> keys;
52 55
53 uint numRows; 56 uint numRows;
54 uint numCols; 57 uint numCols;
55 uint keyHeight; 58 uint keyHeight;
56 double keyWidth; // decimal point matters! 59 double keyWidth; // decimal point matters!
57 60
58 int pressedRow, pressedCol; 61 int pressedRow, pressedCol;
59 62
60 QObject *parent; 63 QObject *parent;
61 64
62}; 65};
63 66
64#endif 67#endif
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index 5900785..0c89620 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -140,49 +140,49 @@ void MainWindow::initUI() {
140 m_closewindow->addTo( m_console ); 140 m_closewindow->addTo( m_console );
141 connect( m_closewindow, SIGNAL(activated() ), 141 connect( m_closewindow, SIGNAL(activated() ),
142 this, SLOT(slotClose() ) ); 142 this, SLOT(slotClose() ) );
143 143
144 144
145 /* 145 /*
146 * script actions 146 * script actions
147 */ 147 */
148 m_recordScript = new QAction(tr("Record Script"), QString::null, 0, this, 0); 148 m_recordScript = new QAction(tr("Record Script"), QString::null, 0, this, 0);
149 m_recordScript->addTo(m_scripts); 149 m_recordScript->addTo(m_scripts);
150 connect(m_recordScript, SIGNAL(activated()), this, SLOT(slotRecordScript())); 150 connect(m_recordScript, SIGNAL(activated()), this, SLOT(slotRecordScript()));
151 151
152 m_saveScript = new QAction(tr("Save Script"), QString::null, 0, this, 0); 152 m_saveScript = new QAction(tr("Save Script"), QString::null, 0, this, 0);
153 m_saveScript->addTo(m_scripts); 153 m_saveScript->addTo(m_scripts);
154 connect(m_saveScript, SIGNAL(activated()), this, SLOT(slotSaveScript())); 154 connect(m_saveScript, SIGNAL(activated()), this, SLOT(slotSaveScript()));
155 155
156 m_runScript = new QAction(tr("Run Script"), QString::null, 0, this, 0); 156 m_runScript = new QAction(tr("Run Script"), QString::null, 0, this, 0);
157 m_runScript->addTo(m_scripts); 157 m_runScript->addTo(m_scripts);
158 connect(m_runScript, SIGNAL(activated()), this, SLOT(slotRunScript())); 158 connect(m_runScript, SIGNAL(activated()), this, SLOT(slotRunScript()));
159 159
160 /* 160 /*
161 * action that open/closes the keyboard 161 * action that open/closes the keyboard
162 */ 162 */
163 m_openKeys = new QAction (tr("Open Keyboard..."), 163 m_openKeys = new QAction (tr("Open Keyboard..."),
164 Resource::loadPixmap( "down" ), 164 Resource::loadPixmap( "console/keyboard_icon.png" ),
165 QString::null, 0, this, 0); 165 QString::null, 0, this, 0);
166 166
167 m_openKeys->setToggleAction(true); 167 m_openKeys->setToggleAction(true);
168 168
169 connect (m_openKeys, SIGNAL(toggled(bool)), 169 connect (m_openKeys, SIGNAL(toggled(bool)),
170 this, SLOT(slotOpenKeb(bool))); 170 this, SLOT(slotOpenKeb(bool)));
171 m_openKeys->addTo(m_icons); 171 m_openKeys->addTo(m_icons);
172 172
173 173
174 /* 174 /*
175 * action that open/closes the keyboard 175 * action that open/closes the keyboard
176 */ 176 */
177 m_openButtons = new QAction ( tr( "Open Buttons..." ), 177 m_openButtons = new QAction ( tr( "Open Buttons..." ),
178 Resource::loadPixmap( "down" ), 178 Resource::loadPixmap( "down" ),
179 QString::null, 0, this, 0 ); 179 QString::null, 0, this, 0 );
180 180
181 m_openButtons->setToggleAction( true ); 181 m_openButtons->setToggleAction( true );
182 182
183 connect ( m_openButtons, SIGNAL( toggled( bool ) ), 183 connect ( m_openButtons, SIGNAL( toggled( bool ) ),
184 this, SLOT( slotOpenButtons( bool ) ) ); 184 this, SLOT( slotOpenButtons( bool ) ) );
185 m_openButtons->addTo( m_icons ); 185 m_openButtons->addTo( m_icons );
186 186
187 187
188 /* insert the submenu */ 188 /* insert the submenu */