summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-08-29 18:11:07 (UTC)
committer harlekin <harlekin>2002-08-29 18:11:07 (UTC)
commite268d442ac16f94b8575c1f32e0e1962ce8b926f (patch) (side-by-side diff)
tree0e518120be6910893b1f24c2caa7bfa664bca922
parent6707dd2b7abf2fac4aef4025cf8e554577d0891c (diff)
downloadopie-e268d442ac16f94b8575c1f32e0e1962ce8b926f.zip
opie-e268d442ac16f94b8575c1f32e0e1962ce8b926f.tar.gz
opie-e268d442ac16f94b8575c1f32e0e1962ce8b926f.tar.bz2
launch for ipaq 38xx mail on button F11 instead of showing the menu
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp58
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
@@ -179,49 +179,48 @@ void DesktopApplication::receive( const QCString &msg, const QByteArray &data )
emit power();
}
}
enum MemState { Unknown, VeryLow, Low, Normal } memstate=Unknown;
#ifdef Q_WS_QWS
bool DesktopApplication::qwsEventFilter( QWSEvent *e )
{
qpedesktop->checkMemory();
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() ) {
if ( ke->simpleData.keycode == Key_F9 ) {
if ( press ) emit datebook();
return TRUE;
}
if ( ke->simpleData.keycode == Key_F10 ) {
if ( !press && cardSendTimer ) {
emit contacts();
delete cardSendTimer;
} else if ( press ) {
cardSendTimer = new QTimer();
cardSendTimer->start( 2000, TRUE );
connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) );
@@ -510,71 +509,72 @@ void Desktop::raiseDatebook()
QCopEnvelope e( "QPE/System", "execute(QString)" );
e << tempItem;
}
void Desktop::raiseContacts()
{
Config cfg( "qpe" ); //F10, 'Contacts'
cfg.setGroup( "AppsKey" );
QString tempItem;
tempItem = cfg.readEntry( "Left2nd", "Address Book" );
if ( tempItem == "Address Book" || tempItem.isEmpty() ) {
tempItem = "addressbook";
}
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 );
}
}
#if defined(QPE_HAVE_TOGGLELIGHT)
#include <qpe/config.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <linux/ioctl.h>
@@ -743,64 +743,70 @@ void Desktop::startTransferServer()
startTimer( 2000 );
}
void Desktop::timerEvent( QTimerEvent *e )
{
killTimer( e->timerId() );
startTransferServer();
}
void Desktop::terminateServers()
{
delete transferServer;
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;
}