author | llornkcor <llornkcor> | 2002-04-28 23:08:31 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-04-28 23:08:31 (UTC) |
commit | 3a7ed24bd010b3313b2260a35c68cfc3b49125b2 (patch) (side-by-side diff) | |
tree | 1e478a7ab2bf05539d6f570db771ccab4d06da81 /core/apps/embeddedkonsole | |
parent | 28d8806d21ec8fbc806d80614fd496f6b5ca6b55 (diff) | |
download | opie-3a7ed24bd010b3313b2260a35c68cfc3b49125b2.zip opie-3a7ed24bd010b3313b2260a35c68cfc3b49125b2.tar.gz opie-3a7ed24bd010b3313b2260a35c68cfc3b49125b2.tar.bz2 |
debug
-rw-r--r-- | core/apps/embeddedkonsole/TEWidget.cpp | 128 | ||||
-rw-r--r-- | core/apps/embeddedkonsole/main.cpp | 1 |
2 files changed, 63 insertions, 66 deletions
diff --git a/core/apps/embeddedkonsole/TEWidget.cpp b/core/apps/embeddedkonsole/TEWidget.cpp index 350ab3a..0cd7ed1 100644 --- a/core/apps/embeddedkonsole/TEWidget.cpp +++ b/core/apps/embeddedkonsole/TEWidget.cpp @@ -844,24 +844,25 @@ void TEWidget::mouseDoubleClickEvent(QMouseEvent* ev) while( x < columns-1 && charClass(image[i+1].c) == selClass ) { i++; x++ ; } endSel.setX(x); actSel = 2; // within selection emit extendSelectionSignal( endSel.x(), endSel.y() ); emit endSelectionSignal(preserve_line_breaks); preserve_line_breaks = TRUE; } } void TEWidget::focusInEvent( QFocusEvent * ) { + // do nothing, to prevent repainting } void TEWidget::focusOutEvent( QFocusEvent * ) { // do nothing, to prevent repainting } bool TEWidget::focusNextPrevChild( bool next ) { if (next) @@ -965,103 +966,98 @@ void TEWidget::onClearSelection() // for the auto-hide cursor feature, I added empty focusInEvent() and // focusOutEvent() so that update() isn't called. // For auto-hide, we need to get keypress-events, but we only get them when // we have focus. void TEWidget::doScroll(int lines) { scrollbar->setValue(scrollbar->value()+lines); } bool TEWidget::eventFilter( QObject *obj, QEvent *e ) { - if ( (e->type() == QEvent::Accel || - e->type() == QEvent::AccelAvailable ) && qApp->focusWidget() == this ) - { - static_cast<QKeyEvent *>( e )->ignore(); - return true; - } - if ( obj != this /* when embedded */ && obj != parent() /* when standalone */ ) - return FALSE; // not us - if ( e->type() == QEvent::Wheel) - { - QApplication::sendEvent(scrollbar, e); - } + if ( (e->type() == QEvent::Accel || + e->type() == QEvent::AccelAvailable ) && qApp->focusWidget() == this ) { + static_cast<QKeyEvent *>( e )->ignore(); + return true; + } + if ( obj != this /* when embedded */ && obj != parent() /* when standalone */ ) + return FALSE; // not us + if ( e->type() == QEvent::Wheel) { + QApplication::sendEvent(scrollbar, e); + } #ifdef FAKE_CTRL_AND_ALT static bool control = FALSE; static bool alt = FALSE; qDebug(" Has a keyboard with no CTRL and ALT keys, but we fake it:"); bool dele=FALSE; if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { - QKeyEvent* ke = (QKeyEvent*)e; - bool keydown = e->type() == QEvent::KeyPress || ke->isAutoRepeat(); - switch (ke->key()) { - case Key_F9: // let this be "Control" - control = keydown; - e = new QKeyEvent(QEvent::KeyPress, Key_Control, 0, ke->state()); - dele=TRUE; - break; - case Key_F13: // let this be "Alt" - alt = keydown; - e = new QKeyEvent(QEvent::KeyPress, Key_Alt, 0, ke->state()); - dele=TRUE; - break; - default: - if ( control ) { - int a = toupper(ke->ascii())-64; - if ( a >= 0 && a < ' ' ) { - e = new QKeyEvent(e->type(), ke->key(), - a, ke->state()|ControlButton, QChar(a,0)); - dele=TRUE; + QKeyEvent* ke = (QKeyEvent*)e; + bool keydown = e->type() == QEvent::KeyPress || ke->isAutoRepeat(); + switch (ke->key()) { + case Key_F9: // let this be "Control" + control = keydown; + e = new QKeyEvent(QEvent::KeyPress, Key_Control, 0, ke->state()); + dele=TRUE; + break; + case Key_F13: // let this be "Alt" + alt = keydown; + e = new QKeyEvent(QEvent::KeyPress, Key_Alt, 0, ke->state()); + dele=TRUE; + break; + default: + if ( control ) { + int a = toupper(ke->ascii())-64; + if ( a >= 0 && a < ' ' ) { + e = new QKeyEvent(e->type(), ke->key(), + a, ke->state()|ControlButton, QChar(a,0)); + dele=TRUE; + } + } + if ( alt ) { + e = new QKeyEvent(e->type(), ke->key(), + ke->ascii(), ke->state()|AltButton, ke->text()); + dele=TRUE; + } } } - if ( alt ) { - e = new QKeyEvent(e->type(), ke->key(), - ke->ascii(), ke->state()|AltButton, ke->text()); - dele=TRUE; - } - } - } #endif - if ( e->type() == QEvent::KeyPress ) - { - QKeyEvent* ke = (QKeyEvent*)e; - actSel=0; // Key stroke implies a screen update, so TEWidget won't - // know where the current selection is. - -// qDebug("key pressed is 0x%x",ke->key()); - if( ke->state() == ShiftButton && ke->key() == Key_Tab) { //lets hardcode this sucker -// qDebug("key pressed 2 is 0x%x",ke->key()); - emitText("\\"); // expose - } else - emit keyPressedSignal(ke); // expose - ke->accept(); + if ( e->type() == QEvent::KeyPress ) { + QKeyEvent* ke = (QKeyEvent*)e; + actSel=0; // Key stroke implies a screen update, so TEWidget won't + // know where the current selection is. + + qDebug("key pressed is 0x%x",ke->key()); + if( ke->state() == ShiftButton && ke->key() == Key_Tab) { //lets hardcode this sucker + qDebug("key pressed 2 is 0x%x",ke->key()); + emitText("\\"); // expose + } else + emit keyPressedSignal(ke); // expose + ke->accept(); #ifdef FAKE_CTRL_AND_ALT - if ( dele ) delete e; + if ( dele ) delete e; #endif - return true; // stop the event - } - if ( e->type() == QEvent::Enter ) - { - QObject::disconnect( (QObject*)cb, SIGNAL(dataChanged()), - this, SLOT(onClearSelection()) ); - } - if ( e->type() == QEvent::Leave ) - { - QObject::connect( (QObject*)cb, SIGNAL(dataChanged()), - this, SLOT(onClearSelection()) ); - } - return QFrame::eventFilter( obj, e ); + return true; // stop the event + } + if ( e->type() == QEvent::Enter ) { + QObject::disconnect( (QObject*)cb, SIGNAL(dataChanged()), + this, SLOT(onClearSelection()) ); + } + if ( e->type() == QEvent::Leave ) { + QObject::connect( (QObject*)cb, SIGNAL(dataChanged()), + this, SLOT(onClearSelection()) ); + } + return QFrame::eventFilter( obj, e ); } /* ------------------------------------------------------------------------- */ /* */ /* Frame */ /* */ /* ------------------------------------------------------------------------- */ void TEWidget::frameChanged() { propagateSize(); update(); diff --git a/core/apps/embeddedkonsole/main.cpp b/core/apps/embeddedkonsole/main.cpp index e3ba346..b3c0453 100644 --- a/core/apps/embeddedkonsole/main.cpp +++ b/core/apps/embeddedkonsole/main.cpp @@ -29,24 +29,25 @@ #include <stdio.h> #include <stdlib.h> /* --| main |------------------------------------------------------ */ int main(int argc, char* argv[]) { setuid(getuid()); setgid(getgid()); // drop privileges QPEApplication a( argc, argv ); #ifdef FAKE_CTRL_AND_ALT + qDebug("Fake Ctrl and Alt defined"); QPEApplication::grabKeyboard(); // for CTRL and ALT #endif QStrList tmp; const char* shell = getenv("SHELL"); if (shell == NULL || *shell == '\0') shell = "/bin/sh"; // sh is completely broken on familiar. Let's try to get something better if ( qstrcmp( shell, "/bin/shell" ) == 0 && QFile::exists( "/bin/bash" ) ) shell = "/bin/bash"; |