-rw-r--r-- | core/apps/embeddedkonsole/TEWidget.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/core/apps/embeddedkonsole/TEWidget.cpp b/core/apps/embeddedkonsole/TEWidget.cpp index d0850e3..ec1b30c 100644 --- a/core/apps/embeddedkonsole/TEWidget.cpp +++ b/core/apps/embeddedkonsole/TEWidget.cpp | |||
@@ -243,10 +243,20 @@ static QChar identicalMap(QChar c) | |||
243 | void TEWidget::fontChange(const QFont &) | 243 | void TEWidget::fontChange(const QFont &) |
244 | { | 244 | { |
245 | QFontMetrics fm(font()); | 245 | QFontMetrics fm(font()); |
246 | font_h = fm.height(); | 246 | font_h = fm.height(); |
247 | font_w = fm.maxWidth(); | 247 | |
248 | font_a = fm.ascent(); | 248 | // font_w = max width of ASCII chars (U.B.) |
249 | font_w = 0; | ||
250 | int fw; | ||
251 | for (int i = 0x20; i < 0x80; i++) { | ||
252 | if (isprint(i) && font_w < (fw = fm.width(i))) { | ||
253 | font_w = fw; | ||
254 | } | ||
255 | } | ||
256 | //font_w = fm.maxWidth(); | ||
257 | |||
258 | font_a = fm.ascent(); | ||
249 | //printf("font_h: %d\n",font_h); | 259 | //printf("font_h: %d\n",font_h); |
250 | //printf("font_w: %d\n",font_w); | 260 | //printf("font_w: %d\n",font_w); |
251 | //printf("font_a: %d\n",font_a); | 261 | //printf("font_a: %d\n",font_a); |
252 | //printf("charset: %s\n",QFont::encodingName(font().charSet()).ascii()); | 262 | //printf("charset: %s\n",QFont::encodingName(font().charSet()).ascii()); |
@@ -1019,8 +1029,9 @@ bool TEWidget::eventFilter( QObject *obj, QEvent *e ) | |||
1019 | static bool control = FALSE; | 1029 | static bool control = FALSE; |
1020 | static bool alt = FALSE; | 1030 | static bool alt = FALSE; |
1021 | // qDebug(" Has a keyboard with no CTRL and ALT keys, but we fake it:"); | 1031 | // qDebug(" Has a keyboard with no CTRL and ALT keys, but we fake it:"); |
1022 | bool dele=FALSE; | 1032 | bool dele=FALSE; |
1033 | |||
1023 | if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { | 1034 | if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { |
1024 | QKeyEvent* ke = (QKeyEvent*)e; | 1035 | QKeyEvent* ke = (QKeyEvent*)e; |
1025 | bool keydown = e->type() == QEvent::KeyPress || ke->isAutoRepeat(); | 1036 | bool keydown = e->type() == QEvent::KeyPress || ke->isAutoRepeat(); |
1026 | switch (ke->key()) { | 1037 | switch (ke->key()) { |
@@ -1057,9 +1068,13 @@ bool TEWidget::eventFilter( QObject *obj, QEvent *e ) | |||
1057 | actSel=0; // Key stroke implies a screen update, so TEWidget won't | 1068 | actSel=0; // Key stroke implies a screen update, so TEWidget won't |
1058 | // know where the current selection is. | 1069 | // know where the current selection is. |
1059 | 1070 | ||
1060 | // qDebug("key pressed is 0x%x, ascii is 0x%x, state %d", ke->key(), ke->ascii(), ke->state()); | 1071 | // qDebug("key pressed is 0x%x, ascii is 0x%x, state %d", ke->key(), ke->ascii(), ke->state()); |
1061 | 1072 | if(ke->key() == Key_Escape) { | |
1073 | qDebug("key pressed is 0x%x, ascii is 0x%x, state %d", ke->key(), ke->ascii(), ke->state()); | ||
1074 | |||
1075 | } | ||
1076 | |||
1062 | if( ke->state() == ShiftButton && ke->key() == Key_Tab) { | 1077 | if( ke->state() == ShiftButton && ke->key() == Key_Tab) { |
1063 | //lets hardcode this sucker | 1078 | //lets hardcode this sucker |
1064 | 1079 | ||
1065 | // qDebug("key pressed 2 is 0x%x", ke->key()); | 1080 | // qDebug("key pressed 2 is 0x%x", ke->key()); |