author | harlekin <harlekin> | 2002-08-29 18:11:07 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-08-29 18:11:07 (UTC) |
commit | e268d442ac16f94b8575c1f32e0e1962ce8b926f (patch) (side-by-side diff) | |
tree | 0e518120be6910893b1f24c2caa7bfa664bca922 /core | |
parent | 6707dd2b7abf2fac4aef4025cf8e554577d0891c (diff) | |
download | opie-e268d442ac16f94b8575c1f32e0e1962ce8b926f.zip opie-e268d442ac16f94b8575c1f32e0e1962ce8b926f.tar.gz opie-e268d442ac16f94b8575c1f32e0e1962ce8b926f.tar.bz2 |
launch for ipaq 38xx mail on button F11 instead of showing the menu
-rw-r--r-- | core/launcher/desktop.cpp | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index 5aba8dd..8756d37 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp @@ -191,25 +191,24 @@ bool DesktopApplication::qwsEventFilter( QWSEvent *e ) if ( e->type == QWSEvent::Key ) { QWSKeyEvent *ke = (QWSKeyEvent *)e; if ( !loggedin && ke->simpleData.keycode != Key_F34 ) return TRUE; bool press = ke->simpleData.is_press; bool autoRepeat= ke->simpleData.is_auto_repeat; /* app that registers key/message to be sent back to the app, when it doesn't have focus, when user presses key, unless keyboard has been requested from app. will not send multiple repeats if user holds key i.e. one shot - */ if (!keyRegisterList.isEmpty()) { KeyRegisterList::Iterator it; for( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { if ((*it).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() && press) { if(press) qDebug("press"); else qDebug("release"); QCopEnvelope((*it).getChannel().utf8(), (*it).getMessage().utf8()); } } } if ( !keyboardGrabbed() ) { @@ -522,47 +521,48 @@ void Desktop::raiseContacts() } QCopEnvelope e("QPE/System","execute(QString)"); e << tempItem; } void Desktop::raiseMenu() { Config cfg( "qpe" ); //F11, 'Menu cfg.setGroup( "AppsKey" ); QString tempItem; tempItem = cfg.readEntry( "Right2nd" , "Popup Menu" ); if ( tempItem == "Popup Menu" || tempItem.isEmpty() ) { - Global::terminateBuiltin("calibrate"); + Global::terminateBuiltin( "calibrate" ); tb->startMenu()->launch(); } else { QCopEnvelope e("QPE/System","execute(QString)"); e << tempItem; } } void Desktop::raiseEmail() { - Config cfg( "qpe" ); //F13, 'Mail' + Config cfg( "qpe" ); //F13, 'Mail' // only in zaurus, on ipaq mail key is F11 cfg.setGroup( "AppsKey" ); QString tempItem; tempItem = cfg.readEntry( "RightEnd", "Mail" ); if ( tempItem == "Mail" || tempItem == "qtmail" || tempItem.isEmpty() ) { tempItem = "mail"; } QCopEnvelope e("QPE/System","execute(QString)"); e << tempItem; } // autoStarts apps on resume and start -void Desktop::execAutoStart() { +void Desktop::execAutoStart() +{ QString appName; int delay; QDateTime now = QDateTime::currentDateTime(); Config cfg( "autostart" ); cfg.setGroup( "AutoStart" ); appName = cfg.readEntry( "Apps", "" ); delay = ( cfg.readEntry( "Delay", "0" ) ).toInt(); // If the time between suspend and resume was longer then the // value saved as delay, start the app if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) { QCopEnvelope e( "QPE/System", "execute(QString)" ); e << QString( appName ); @@ -755,52 +755,58 @@ void Desktop::terminateServers() delete qcopBridge; transferServer = 0; qcopBridge = 0; } void Desktop::rereadVolumes() { Config cfg("qpe"); cfg.setGroup("Volume"); touchclick = cfg.readBoolEntry("TouchSound"); keyclick = cfg.readBoolEntry("KeySound"); alarmsound = cfg.readBoolEntry("AlarmSound"); -// Config cfg("Sound"); -// cfg.setGroup("System"); -// touchclick = cfg.readBoolEntry("Touch"); -// keyclick = cfg.readBoolEntry("Key"); } void Desktop::keyClick() { - if ( keyclick ) - ODevice::inst ( )-> keySound ( ); + if ( keyclick ) + ODevice::inst ( )-> keySound ( ); } void Desktop::screenClick() { - if ( touchclick ) - ODevice::inst ( )-> touchSound ( ); + if ( touchclick ) + ODevice::inst ( )-> touchSound ( ); } void Desktop::soundAlarm() { - if ( qpedesktop-> alarmsound ) - ODevice::inst ( )-> alarmSound ( ); + if ( qpedesktop-> alarmsound ) + ODevice::inst ( )-> alarmSound ( ); } bool Desktop::eventFilter( QObject *, QEvent *ev ) { - if ( ev-> type ( ) == QEvent::KeyPress ) { - QKeyEvent *ke = (QKeyEvent *) ev; - if ( ke-> key ( ) == Qt::Key_F11 ) { // menu key - QWidget *active = qApp-> activeWindow ( ); - - if ( active && active-> isPopup ( )) - active->close(); - - raiseMenu ( ); - return true; + if ( ev-> type ( ) == QEvent::KeyPress ) { + QKeyEvent *ke = (QKeyEvent *) ev; + if ( ke-> key ( ) == Qt::Key_F11 ) { // menu key + QWidget *active = qApp-> activeWindow ( ); + + if ( active && active-> isPopup ( )) + active->close(); + + /* + * On iPAQ 38xx that key is not the "menu key" but the mail key + * To not confuse the users, make it launch the mail app on 38xx + */ + if (ODevice::inst()->model() == OMODEL_iPAQ_H38xx ) { + QCopEnvelope e( "QPE/System", "execute(QString)" ); + e << QString( "mail" ); + return true; + } else { + raiseMenu ( ); + return true; + } + } } - } - return false; + return false; } |