-rw-r--r-- | library/qpeapplication.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 5d05ed5..3370264 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp | |||
@@ -973,49 +973,49 @@ bool QPEApplication::qwsEventFilter( QWSEvent * e ) | |||
973 | which = qApp; | 973 | which = qApp; |
974 | 974 | ||
975 | QApplication::sendEvent ( which, &qke ); | 975 | QApplication::sendEvent ( which, &qke ); |
976 | } | 976 | } |
977 | else { // we didn't grab the keyboard, so send the event to the launcher | 977 | else { // we didn't grab the keyboard, so send the event to the launcher |
978 | QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" ); | 978 | QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" ); |
979 | e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat ); | 979 | e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat ); |
980 | } | 980 | } |
981 | } | 981 | } |
982 | return true; | 982 | return true; |
983 | } | 983 | } |
984 | } | 984 | } |
985 | if ( e->type == QWSEvent::Focus ) { | 985 | if ( e->type == QWSEvent::Focus ) { |
986 | QWSFocusEvent * fe = ( QWSFocusEvent* ) e; | 986 | QWSFocusEvent * fe = ( QWSFocusEvent* ) e; |
987 | if ( !fe->simpleData.get_focus ) { | 987 | if ( !fe->simpleData.get_focus ) { |
988 | QWidget * active = activeWindow(); | 988 | QWidget * active = activeWindow(); |
989 | while ( active && active->isPopup() ) { | 989 | while ( active && active->isPopup() ) { |
990 | active->close(); | 990 | active->close(); |
991 | active = activeWindow(); | 991 | active = activeWindow(); |
992 | } | 992 | } |
993 | } | 993 | } |
994 | else { | 994 | else { |
995 | // make sure our modal widget is ALWAYS on top | 995 | // make sure our modal widget is ALWAYS on top |
996 | QWidget *topm = activeModalWidget(); | 996 | QWidget *topm = activeModalWidget(); |
997 | if ( topm ) { | 997 | if ( topm && static_cast<int>( topm->winId() ) != fe->simpleData.window) { |
998 | topm->raise(); | 998 | topm->raise(); |
999 | } | 999 | } |
1000 | } | 1000 | } |
1001 | if ( fe->simpleData.get_focus && inputMethodDict ) { | 1001 | if ( fe->simpleData.get_focus && inputMethodDict ) { |
1002 | InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) ); | 1002 | InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) ); |
1003 | if ( m == AlwaysOff ) | 1003 | if ( m == AlwaysOff ) |
1004 | Global::hideInputMethod(); | 1004 | Global::hideInputMethod(); |
1005 | if ( m == AlwaysOn ) | 1005 | if ( m == AlwaysOn ) |
1006 | Global::showInputMethod(); | 1006 | Global::showInputMethod(); |
1007 | } | 1007 | } |
1008 | } | 1008 | } |
1009 | 1009 | ||
1010 | 1010 | ||
1011 | return QApplication::qwsEventFilter( e ); | 1011 | return QApplication::qwsEventFilter( e ); |
1012 | } | 1012 | } |
1013 | #endif | 1013 | #endif |
1014 | 1014 | ||
1015 | /*! | 1015 | /*! |
1016 | Destroys the QPEApplication. | 1016 | Destroys the QPEApplication. |
1017 | */ | 1017 | */ |
1018 | QPEApplication::~QPEApplication() | 1018 | QPEApplication::~QPEApplication() |
1019 | { | 1019 | { |
1020 | ungrabKeyboard(); | 1020 | ungrabKeyboard(); |
1021 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) | 1021 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) |
@@ -1444,49 +1444,49 @@ bool QPEApplication::raiseAppropriateWindow() | |||
1444 | for (QWidget* w = list->first(); w; w = list->next()) { | 1444 | for (QWidget* w = list->first(); w; w = list->next()) { |
1445 | if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) { | 1445 | if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) { |
1446 | if ( w == d->lastraised ) | 1446 | if ( w == d->lastraised ) |
1447 | foundlast = TRUE; | 1447 | foundlast = TRUE; |
1448 | if ( foundlast ) { | 1448 | if ( foundlast ) { |
1449 | w->raise(); | 1449 | w->raise(); |
1450 | topsub = w; | 1450 | topsub = w; |
1451 | } | 1451 | } |
1452 | } | 1452 | } |
1453 | } | 1453 | } |
1454 | } | 1454 | } |
1455 | for (QWidget* w = list->first(); w; w = list->next()) { | 1455 | for (QWidget* w = list->first(); w; w = list->next()) { |
1456 | if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) { | 1456 | if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) { |
1457 | if ( w == d->lastraised ) | 1457 | if ( w == d->lastraised ) |
1458 | break; | 1458 | break; |
1459 | w->raise(); | 1459 | w->raise(); |
1460 | topsub = w; | 1460 | topsub = w; |
1461 | } | 1461 | } |
1462 | } | 1462 | } |
1463 | d->lastraised = topsub; | 1463 | d->lastraised = topsub; |
1464 | delete list; | 1464 | delete list; |
1465 | } | 1465 | } |
1466 | 1466 | ||
1467 | // 3. Raise the active modal widget. | 1467 | // 3. Raise the active modal widget. |
1468 | if ( topm && topm != top ) { | 1468 | if ( topm ) { |
1469 | topm->show(); | 1469 | topm->show(); |
1470 | topm->raise(); | 1470 | topm->raise(); |
1471 | // If we haven't already handled the fastAppShowing message | 1471 | // If we haven't already handled the fastAppShowing message |
1472 | if (!top && d->preloaded) { | 1472 | if (!top && d->preloaded) { |
1473 | #ifndef QT_NO_COP | 1473 | #ifndef QT_NO_COP |
1474 | QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); | 1474 | QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); |
1475 | e << d->appName; | 1475 | e << d->appName; |
1476 | #endif | 1476 | #endif |
1477 | } | 1477 | } |
1478 | r = FALSE; | 1478 | r = FALSE; |
1479 | } | 1479 | } |
1480 | 1480 | ||
1481 | return r; | 1481 | return r; |
1482 | } | 1482 | } |
1483 | 1483 | ||
1484 | 1484 | ||
1485 | void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) | 1485 | void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) |
1486 | { | 1486 | { |
1487 | #ifdef Q_WS_QWS | 1487 | #ifdef Q_WS_QWS |
1488 | 1488 | ||
1489 | if ( msg == "quit()" ) { | 1489 | if ( msg == "quit()" ) { |
1490 | tryQuit(); | 1490 | tryQuit(); |
1491 | } | 1491 | } |
1492 | else if ( msg == "quitIfInvisible()" ) { | 1492 | else if ( msg == "quitIfInvisible()" ) { |