-rw-r--r-- | library/qpeapplication.cpp | 1219 |
1 files changed, 611 insertions, 608 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index ba9db71..5f61c0c 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -50,2 +50,5 @@ #include <qsignal.h> +#include <linux/fb.h> + +#include <qsignal.h> #include "qpeapplication.h" @@ -91,7 +94,7 @@ public: QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE), - kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE), - forceshow(FALSE), nomaximize(FALSE), qpe_main_widget(0), - keep_running(TRUE) + kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE), + forceshow(FALSE), nomaximize(FALSE), qpe_main_widget(0), + keep_running(TRUE) { - qcopq.setAutoDelete(TRUE); + qcopq.setAutoDelete(TRUE); } @@ -107,9 +110,9 @@ public: struct QCopRec { - QCopRec(const QCString &ch, const QCString &msg, + QCopRec(const QCString &ch, const QCString &msg, const QByteArray &d) : - channel(ch), message(msg), data(d) { } + channel(ch), message(msg), data(d) { } - QCString channel; - QCString message; - QByteArray data; + QCString channel; + QCString message; + QByteArray data; }; @@ -125,3 +128,3 @@ public: { - qcopq.append(new QCopRec(ch,msg,data)); + qcopq.append(new QCopRec(ch,msg,data)); } @@ -129,6 +132,6 @@ public: { - QCopRec* r; - for (QListIterator<QCopRec> it(qcopq); (r=it.current()); ++it) - QCopChannel::sendLocally(r->channel,r->message,r->data); - qcopq.clear(); + QCopRec* r; + for (QListIterator<QCopRec> it(qcopq); (r=it.current()); ++it) + QCopChannel::sendLocally(r->channel,r->message,r->data); + qcopq.clear(); } @@ -140,4 +143,4 @@ public: { - setFilePath( Global::helpPath() ); - setExtensionType("html","text/html;charset=UTF-8"); + setFilePath( Global::helpPath() ); + setExtensionType("html","text/html;charset=UTF-8"); } @@ -146,17 +149,17 @@ public: { - const QMimeSource* r = QMimeSourceFactory::data(abs_name); - if ( !r ) { - int sl = abs_name.length(); - do { - sl = abs_name.findRev('/',sl-1); - QString name = sl>=0 ? abs_name.mid(sl+1) : abs_name; - int dot = name.findRev('.'); - if ( dot >= 0 ) - name = name.left(dot); - QImage img = Resource::loadImage(name); - if ( !img.isNull() ) - r = new QImageDrag(img); - } while (!r && sl>0); - } - return r; + const QMimeSource* r = QMimeSourceFactory::data(abs_name); + if ( !r ) { + int sl = abs_name.length(); + do { + sl = abs_name.findRev('/',sl-1); + QString name = sl>=0 ? abs_name.mid(sl+1) : abs_name; + int dot = name.findRev('.'); + if ( dot >= 0 ) + name = name.left(dot); + QImage img = Resource::loadImage(name); + if ( !img.isNull() ) + r = new QImageDrag(img); + } while (!r && sl>0); + } + return r; } @@ -171,14 +174,14 @@ static void setVolume(int t=0, int percent=-1) case 0: { - Config cfg("Sound"); - cfg.setGroup("System"); - if ( percent < 0 ) - percent = cfg.readNumEntry("Volume",50); - int fd = 0; - if ((fd = open("/dev/mixer", O_RDWR))>=0) { - int vol = muted ? 0 : percent; - // set both channels to same volume - vol |= vol << 8; - ioctl(fd, MIXER_WRITE(0), &vol); - ::close(fd); - } + Config cfg("Sound"); + cfg.setGroup("System"); + if ( percent < 0 ) + percent = cfg.readNumEntry("Volume",50); + int fd = 0; + if ((fd = open("/dev/mixer", O_RDWR))>=0) { + int vol = muted ? 0 : percent; + // set both channels to same volume + vol |= vol << 8; + ioctl(fd, MIXER_WRITE(0), &vol); + ::close(fd); + } } break; @@ -191,13 +194,13 @@ static void setMic(int t=0, int percent=-1) case 0: { - Config cfg("Sound"); - cfg.setGroup("System"); - if ( percent < 0 ) - percent = cfg.readNumEntry("Mic",50); - - int fd = 0; - int mic = micMuted ? 0 : percent; - if ((fd = open("/dev/mixer", O_RDWR))>=0) { - ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); - ::close(fd); - } + Config cfg("Sound"); + cfg.setGroup("System"); + if ( percent < 0 ) + percent = cfg.readNumEntry("Mic",50); + + int fd = 0; + int mic = micMuted ? 0 : percent; + if ((fd = open("/dev/mixer", O_RDWR))>=0) { + ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); + ::close(fd); + } } break; @@ -234,6 +237,6 @@ static int backlight() if ( curbl == -1 ) { - // Read from config - Config config( "qpe" ); - config.setGroup( "Screensaver" ); - curbl = config.readNumEntry("Brightness",255); + // Read from config + Config config( "qpe" ); + config.setGroup( "Screensaver" ); + curbl = config.readNumEntry("Brightness",255); } @@ -245,18 +248,18 @@ static void setBacklight(int bright) if ( bright == -3 ) { - // Forced on - forced_off = FALSE; - bright = -1; + // Forced on + forced_off = FALSE; + bright = -1; } if ( forced_off && bright != -2 ) - return; + return; if ( bright == -2 ) { - // Toggle between off and on - bright = curbl ? 0 : -1; - forced_off = !bright; + // Toggle between off and on + bright = curbl ? 0 : -1; + forced_off = !bright; } if ( bright == -1 ) { - // Read from config - Config config( "qpe" ); - config.setGroup( "Screensaver" ); - bright = config.readNumEntry("Brightness",255); + // Read from config + Config config( "qpe" ); + config.setGroup( "Screensaver" ); + bright = config.readNumEntry("Brightness",255); } @@ -264,6 +267,6 @@ static void setBacklight(int bright) if ( QFile::exists("/usr/bin/bl") ) { - QString cmd = "/usr/bin/bl 1 "; - cmd += bright<=0 ? "0 " : "1 "; - cmd += QString::number(bright); - system(cmd.latin1()); + QString cmd = "/usr/bin/bl 1 "; + cmd += bright<=0 ? "0 " : "1 "; + cmd += QString::number(bright); + system(cmd.latin1()); #if defined(QT_QWS_EBX) @@ -271,10 +274,10 @@ static void setBacklight(int bright) #define FL_IOCTL_STEP_CONTRAST 100 - int fd = open("/dev/fl", O_WRONLY); - if (fd >= 0 ) { - int steps = qpe_sysBrightnessSteps(); - int bl = ( bright * steps + 127 ) / 255; - if ( bright && !bl ) bl = 1; - bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl); - close(fd); - } + int fd = open("/dev/fl", O_WRONLY); + if (fd >= 0 ) { + int steps = qpe_sysBrightnessSteps(); + int bl = ( bright * steps + 127 ) / 255; + if ( bright && !bl ) bl = 1; + bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl); + close(fd); + } } @@ -282,7 +285,7 @@ static void setBacklight(int bright) } else if ( QFile::exists("/dev/ts") || QFile::exists("/dev/h3600_ts") ) { - typedef struct { - unsigned char mode; - unsigned char pwr; - unsigned char brightness; - } FLITE_IN; + typedef struct { + unsigned char mode; + unsigned char pwr; + unsigned char brightness; + } FLITE_IN; # ifndef FLITE_ON @@ -293,15 +296,15 @@ static void setBacklight(int bright) # endif - int fd; - if ( QFile::exists("/dev/ts") ) - fd = open("/dev/ts", O_WRONLY); - else - fd = open("/dev/h3600_ts", O_WRONLY); - if (fd >= 0 ) { - FLITE_IN bl; - bl.mode = 1; - bl.pwr = bright ? 1 : 0; - bl.brightness = bright; - ioctl(fd, FLITE_ON, &bl); - close(fd); - } + int fd; + if ( QFile::exists("/dev/ts") ) + fd = open("/dev/ts", O_WRONLY); + else + fd = open("/dev/h3600_ts", O_WRONLY); + if (fd >= 0 ) { + FLITE_IN bl; + bl.mode = 1; + bl.pwr = bright ? 1 : 0; + bl.brightness = bright; + ioctl(fd, FLITE_ON, &bl); + close(fd); + } } @@ -345,9 +348,9 @@ public: { - if (!LcdOn) // We must have turned it off - { - int fd; - fd=open("/dev/fb0",O_RDWR); - if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); } - } - setBacklight(-1); + if (!LcdOn) // We must have turned it off + { + int fd; + fd=open("/dev/fb0",O_RDWR); + if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); } + } + setBacklight(-1); } @@ -355,37 +358,37 @@ public: { - int fd; - - switch ( level ) { - case 0: - if ( disable_suspend > 0 && dim_on ) { - if (backlight() > 1) - setBacklight(1); // lowest non-off - } - return TRUE; - break; - case 1: - if ( disable_suspend > 1 && lightoff_on ) { - setBacklight(0); // off - } - return TRUE; - break; - case 2: - Config config( "qpe" ); - config.setGroup( "Screensaver" ); - if (config.readNumEntry("LcdOffOnly",0) != 0) // We're only turning off the LCD - { - fd=open("/dev/fb0",O_RDWR); - if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_POWERDOWN); close(fd); } - LcdOn = FALSE; - } - else // We're going to suspend the whole machine - { - if ( disable_suspend > 2 && !powerOnline() && !networkOnline() ) { - QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); - return TRUE; - } - } - break; - } - return FALSE; + int fd; + + switch ( level ) { + case 0: + if ( disable_suspend > 0 && dim_on ) { + if (backlight() > 1) + setBacklight(1); // lowest non-off + } + return TRUE; + break; + case 1: + if ( disable_suspend > 1 && lightoff_on ) { + setBacklight(0); // off + } + return TRUE; + break; + case 2: + Config config( "qpe" ); + config.setGroup( "Screensaver" ); + if (config.readNumEntry("LcdOffOnly",0) != 0) // We're only turning off the LCD + { + fd=open("/dev/fb0",O_RDWR); + if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_POWERDOWN); close(fd); } + LcdOn = FALSE; + } + else // We're going to suspend the whole machine + { + if ( disable_suspend > 2 && !powerOnline() && !networkOnline() ) { + QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); + return TRUE; + } + } + break; + } + return FALSE; } @@ -396,7 +399,7 @@ static int ssi(int interval, Config &config, const QString &enable, const QStrin if ( !enable.isEmpty() && config.readNumEntry(enable,0) == 0 ) - return 0; + return 0; if ( interval < 0 ) { - // Restore screen blanking and power saving state - interval = config.readNumEntry( value, def ); + // Restore screen blanking and power saving state + interval = config.readNumEntry( value, def ); } @@ -424,5 +427,5 @@ static void setScreenSaverIntervals(int i1, int i2, int i3) if ( !i1 && !i2 && !i3 ) - QWSServer::setScreenSaverInterval(0); + QWSServer::setScreenSaverInterval(0); else - QWSServer::setScreenSaverIntervals(v); + QWSServer::setScreenSaverIntervals(v); } @@ -480,10 +483,10 @@ static void setScreenSaverInterval(int interval) { - QDataStream stream( data, IO_ReadOnly ); - if ( msg == "someMessage(int,int,int)" ) { - int a,b,c; - stream >> a >> b >> c; - ... - } else if ( msg == "otherMessage(QString)" ) { - ... - } + QDataStream stream( data, IO_ReadOnly ); + if ( msg == "someMessage(int,int,int)" ) { + int a,b,c; + stream >> a >> b >> c; + ... + } else if ( msg == "otherMessage(QString)" ) { + ... + } } @@ -503,5 +506,5 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) if ( dw < 200 ) { - setFont( QFont( "helvetica", 8 ) ); - AppLnk::setSmallIconSize(10); - AppLnk::setBigIconSize(28); + setFont( QFont( "helvetica", 8 ) ); + AppLnk::setSmallIconSize(10); + AppLnk::setBigIconSize(28); } @@ -519,3 +522,3 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) if ( f.open(IO_ReadOnly) ) { - flock(f.handle(), LOCK_EX); + flock(f.handle(), LOCK_EX); } @@ -524,3 +527,3 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) connect( sysChannel, SIGNAL(received(const QCString &, const QByteArray &)), - this, SLOT(systemMessage( const QCString &, const QByteArray &)) ); + this, SLOT(systemMessage( const QCString &, const QByteArray &)) ); @@ -532,17 +535,17 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) connect( pidChannel, SIGNAL(received(const QCString &, const QByteArray &)), - this, SLOT(pidMessage(const QCString &, const QByteArray &))); + this, SLOT(pidMessage(const QCString &, const QByteArray &))); if ( f.isOpen() ) { - d->keep_running = FALSE; - QDataStream ds(&f); - QCString channel, message; - QByteArray data; - while(!ds.atEnd()) { - ds >> channel >> message >> data; - d->enqueueQCop(channel,message,data); - } + d->keep_running = FALSE; + QDataStream ds(&f); + QCString channel, message; + QByteArray data; + while(!ds.atEnd()) { + ds >> channel >> message >> data; + d->enqueueQCop(channel,message,data); + } - flock(f.handle(), LOCK_UN); - f.close(); - f.remove(); + flock(f.handle(), LOCK_UN); + f.close(); + f.remove(); } @@ -550,14 +553,14 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) for (int a=0; a<argc; a++) { - if ( qstrcmp(argv[a],"-preload")==0 ) { - argv[a] = argv[a+1]; - a++; - d->preloaded = TRUE; - argc-=1; - } else if ( qstrcmp(argv[a],"-preload-show")==0 ) { - argv[a] = argv[a+1]; - a++; - d->preloaded = TRUE; - d->forceshow = TRUE; - argc-=1; - } + if ( qstrcmp(argv[a],"-preload")==0 ) { + argv[a] = argv[a+1]; + a++; + d->preloaded = TRUE; + argc-=1; + } else if ( qstrcmp(argv[a],"-preload-show")==0 ) { + argv[a] = argv[a+1]; + a++; + d->preloaded = TRUE; + d->forceshow = TRUE; + argc-=1; + } } @@ -574,26 +577,26 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) { - QString lang = *it; - - QTranslator * trans; - QString tfn; - - trans = new QTranslator(this); - tfn = qpeDir()+"/i18n/"+lang+"/libqpe.qm"; - if ( trans->load( tfn )) - installTranslator( trans ); - else - delete trans; - - trans = new QTranslator(this); - tfn = qpeDir()+"/i18n/"+lang+"/"+d->appName+".qm"; - if ( trans->load( tfn )) - installTranslator( trans ); - else - delete trans; - - //###language/font hack; should look it up somewhere - if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) { - QFont fn = FontManager::unicodeFont( FontManager::Proportional ); - setFont( fn ); - } + QString lang = *it; + + QTranslator * trans; + QString tfn; + + trans = new QTranslator(this); + tfn = qpeDir()+"/i18n/"+lang+"/libqpe.qm"; + if ( trans->load( tfn )) + installTranslator( trans ); + else + delete trans; + + trans = new QTranslator(this); + tfn = qpeDir()+"/i18n/"+lang+"/"+d->appName+".qm"; + if ( trans->load( tfn )) + installTranslator( trans ); + else + delete trans; + + //###language/font hack; should look it up somewhere + if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) { + QFont fn = FontManager::unicodeFont( FontManager::Proportional ); + setFont( fn ); + } } @@ -604,5 +607,5 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) if ( type() == GuiServer ) { - setScreenSaverInterval(-1); - setVolume(); - QWSServer::setScreenSaver(new QPEScreenSaver); + setScreenSaverInterval(-1); + setVolume(); + QWSServer::setScreenSaver(new QPEScreenSaver); } @@ -623,3 +626,3 @@ static void createInputMethodDict() if ( !inputMethodDict ) - inputMethodDict = new QPtrDict<void>; + inputMethodDict = new QPtrDict<void>; } @@ -635,3 +638,3 @@ QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget* w ) if ( inputMethodDict && w ) - return (InputMethodHint)(int)inputMethodDict->find(w); + return (InputMethodHint)(int)inputMethodDict->find(w); return Normal; @@ -657,5 +660,5 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode ) if ( mode == Normal ) { - inputMethodDict->remove(w); + inputMethodDict->remove(w); } else { - inputMethodDict->insert(w,(void*)mode); + inputMethodDict->insert(w,(void*)mode); } @@ -676,8 +679,8 @@ void QPEApplication::mapToDefaultAction( QWSKeyEvent *ke, int key ) if ( activePopupWidget() && activePopupWidget()->inherits( "QListBox" ) - && activePopupWidget()->parentWidget() - && activePopupWidget()->parentWidget()->inherits( "QComboBox" ) ) - key = Qt::Key_Return; + && activePopupWidget()->parentWidget() + && activePopupWidget()->parentWidget()->inherits( "QComboBox" ) ) + key = Qt::Key_Return; if ( activePopupWidget() && activePopupWidget()->inherits( "QPopupMenu" ) ) - key = Qt::Key_Return; + key = Qt::Key_Return; @@ -699,65 +702,65 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) if ( !d->notbusysent && e->type == QWSEvent::Focus ) { - if ( qApp->type() != QApplication::GuiServer ) { - QCopEnvelope e("QPE/System", "notBusy(QString)" ); - e << d->appName; - } - d->notbusysent=TRUE; + if ( qApp->type() != QApplication::GuiServer ) { + QCopEnvelope e("QPE/System", "notBusy(QString)" ); + e << d->appName; + } + d->notbusysent=TRUE; } if ( type() == GuiServer ) { - switch ( e->type ) { - case QWSEvent::Mouse: - if ( e->asMouse()->simpleData.state && !QWidget::find(e->window()) ) - emit clientMoused(); - } + switch ( e->type ) { + case QWSEvent::Mouse: + if ( e->asMouse()->simpleData.state && !QWidget::find(e->window()) ) + emit clientMoused(); + } } if ( e->type == QWSEvent::Key ) { - if ( d->kbgrabber == 1 ) - return TRUE; - QWSKeyEvent *ke = (QWSKeyEvent *)e; - if ( ke->simpleData.keycode == Qt::Key_F33 ) { - // Use special "OK" key to press "OK" on top level widgets - QWidget *active = activeWindow(); - QWidget *popup = 0; - if ( active && active->isPopup() ) { - popup = active; - active = active->parentWidget(); - } - if ( active && (int)active->winId() == ke->simpleData.window && - !active->testWFlags( WStyle_Customize|WType_Popup|WType_Desktop )) { - if ( ke->simpleData.is_press ) { - if ( popup ) - popup->close(); - if ( active->inherits( "QDialog" ) ) { - HackDialog *d = (HackDialog *)active; - d->acceptIt(); - return TRUE; - } else if ( ((HackWidget *)active)->needsOk() ) { - QSignal s; - s.connect( active, SLOT( accept() ) ); - s.activate(); - } else { - // do the same as with the select key: Map to the default action of the widget: - mapToDefaultAction( ke, Qt::Key_Return ); - } - } - } - } else if ( ke->simpleData.keycode == Qt::Key_F30 ) { - // Use special "select" key to do whatever default action a widget has - mapToDefaultAction( ke, Qt::Key_Space ); - } else if ( ke->simpleData.keycode == Qt::Key_Escape && - ke->simpleData.is_press ) { - // Escape key closes app if focus on toplevel - QWidget *active = activeWindow(); - if ( active && active->testWFlags( WType_TopLevel ) && - (int)active->winId() == ke->simpleData.window && - !active->testWFlags( WStyle_Dialog|WStyle_Customize|WType_Popup|WType_Desktop )) { - if ( active->inherits( "QDialog" ) ) { - HackDialog *d = (HackDialog *)active; - d->rejectIt(); - return TRUE; - } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) { - active->close(); - } - } - } + if ( d->kbgrabber == 1 ) + return TRUE; + QWSKeyEvent *ke = (QWSKeyEvent *)e; + if ( ke->simpleData.keycode == Qt::Key_F33 ) { + // Use special "OK" key to press "OK" on top level widgets + QWidget *active = activeWindow(); + QWidget *popup = 0; + if ( active && active->isPopup() ) { + popup = active; + active = active->parentWidget(); + } + if ( active && (int)active->winId() == ke->simpleData.window && + !active->testWFlags( WStyle_Customize|WType_Popup|WType_Desktop )) { + if ( ke->simpleData.is_press ) { + if ( popup ) + popup->close(); + if ( active->inherits( "QDialog" ) ) { + HackDialog *d = (HackDialog *)active; + d->acceptIt(); + return TRUE; + } else if ( ((HackWidget *)active)->needsOk() ) { + QSignal s; + s.connect( active, SLOT( accept() ) ); + s.activate(); + } else { + // do the same as with the select key: Map to the default action of the widget: + mapToDefaultAction( ke, Qt::Key_Return ); + } + } + } + } else if ( ke->simpleData.keycode == Qt::Key_F30 ) { + // Use special "select" key to do whatever default action a widget has + mapToDefaultAction( ke, Qt::Key_Space ); + } else if ( ke->simpleData.keycode == Qt::Key_Escape && + ke->simpleData.is_press ) { + // Escape key closes app if focus on toplevel + QWidget *active = activeWindow(); + if ( active && active->testWFlags( WType_TopLevel ) && + (int)active->winId() == ke->simpleData.window && + !active->testWFlags( WStyle_Dialog|WStyle_Customize|WType_Popup|WType_Desktop )) { + if ( active->inherits( "QDialog" ) ) { + HackDialog *d = (HackDialog *)active; + d->rejectIt(); + return TRUE; + } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) { + active->close(); + } + } + } @@ -766,4 +769,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) // ### The launcher key may not always be F4 on all devices - if ( ((QWSKeyEvent *)e)->simpleData.keycode == Qt::Key_F4 ) - return TRUE; + if ( ((QWSKeyEvent *)e)->simpleData.keycode == Qt::Key_F4 ) + return TRUE; #endif @@ -771,32 +774,32 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) if ( e->type == QWSEvent::Focus ) { - QWSFocusEvent *fe = (QWSFocusEvent*)e; - QWidget* nfw = QWidget::find(e->window()); - if ( !fe->simpleData.get_focus ) { - QWidget *active = activeWindow(); - while ( active && active->isPopup() ) { - active->close(); - active = activeWindow(); - } - if ( !nfw && d->kbgrabber == 2 ) { - ungrabKeyboard(); - d->kbregrab = TRUE; // want kb back when we're active - } - } else { - // make sure our modal widget is ALWAYS on top - QWidget *topm = activeModalWidget(); - if ( topm ) { - topm->raise(); - } - if ( d->kbregrab ) { - grabKeyboard(); - d->kbregrab = FALSE; - } - } - if ( fe->simpleData.get_focus && inputMethodDict ) { - InputMethodHint m = inputMethodHint( QWidget::find(e->window()) ); - if ( m == AlwaysOff ) - Global::hideInputMethod(); - if ( m == AlwaysOn ) - Global::showInputMethod(); - } + QWSFocusEvent *fe = (QWSFocusEvent*)e; + QWidget* nfw = QWidget::find(e->window()); + if ( !fe->simpleData.get_focus ) { + QWidget *active = activeWindow(); + while ( active && active->isPopup() ) { + active->close(); + active = activeWindow(); + } + if ( !nfw && d->kbgrabber == 2 ) { + ungrabKeyboard(); + d->kbregrab = TRUE; // want kb back when we're active + } + } else { + // make sure our modal widget is ALWAYS on top + QWidget *topm = activeModalWidget(); + if ( topm ) { + topm->raise(); + } + if ( d->kbregrab ) { + grabKeyboard(); + d->kbregrab = FALSE; + } + } + if ( fe->simpleData.get_focus && inputMethodDict ) { + InputMethodHint m = inputMethodHint( QWidget::find(e->window()) ); + if ( m == AlwaysOff ) + Global::hideInputMethod(); + if ( m == AlwaysOn ) + Global::showInputMethod(); + } } @@ -827,3 +830,3 @@ QString QPEApplication::qpeDir() if ( base ) - return QString( base ) + "/"; + return QString( base ) + "/"; @@ -839,3 +842,3 @@ QString QPEApplication::documentDir() if ( base ) - return QString( base ) + "/Documents/"; + return QString( base ) + "/Documents/"; @@ -852,12 +855,12 @@ int QPEApplication::defaultRotation() if ( deforient < 0 ) { - QString d = getenv("QWS_DISPLAY"); - if ( d.contains("Rot90") ) { - deforient = 90; - } else if ( d.contains("Rot180") ) { - deforient = 180; - } else if ( d.contains("Rot270") ) { - deforient = 270; - } else { - deforient=0; - } + QString d = getenv("QWS_DISPLAY"); + if ( d.contains("Rot90") ) { + deforient = 90; + } else if ( d.contains("Rot180") ) { + deforient = 180; + } else if ( d.contains("Rot270") ) { + deforient = 270; + } else { + deforient=0; + } } @@ -872,6 +875,6 @@ void QPEApplication::setDefaultRotation(int r) if ( qApp->type() == GuiServer ) { - deforient = r; - setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1); + deforient = r; + setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1); } else { - QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r; + QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r; } @@ -908,3 +911,3 @@ void QPEApplication::applyStyle() pal.setColor( QPalette::Disabled, QColorGroup::Text, - pal.color(QPalette::Active, QColorGroup::Background).dark() ); + pal.color(QPalette::Active, QColorGroup::Background).dark() ); @@ -918,137 +921,137 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) if ( msg == "applyStyle()" ) { - applyStyle(); + applyStyle(); } else if ( msg == "setScreenSaverInterval(int)" ) { - if ( type() == GuiServer ) { - int time; - stream >> time; - setScreenSaverInterval(time); - } + if ( type() == GuiServer ) { + int time; + stream >> time; + setScreenSaverInterval(time); + } } else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { - if ( type() == GuiServer ) { - int t1,t2,t3; - stream >> t1 >> t2 >> t3; - setScreenSaverIntervals(t1,t2,t3); - } + if ( type() == GuiServer ) { + int t1,t2,t3; + stream >> t1 >> t2 >> t3; + setScreenSaverIntervals(t1,t2,t3); + } } else if ( msg == "setBacklight(int)" ) { - if ( type() == GuiServer ) { - int bright; - stream >> bright; - setBacklight(bright); - } + if ( type() == GuiServer ) { + int bright; + stream >> bright; + setBacklight(bright); + } } else if ( msg == "setDefaultRotation(int)" ) { - if ( type() == GuiServer ) { - int r; - stream >> r; - setDefaultRotation(r); - } + if ( type() == GuiServer ) { + int r; + stream >> r; + setDefaultRotation(r); + } } else if ( msg == "shutdown()" ) { - if ( type() == GuiServer ) - shutdown(); + if ( type() == GuiServer ) + shutdown(); } else if ( msg == "quit()" ) { - if ( type() != GuiServer ) - tryQuit(); + if ( type() != GuiServer ) + tryQuit(); } else if ( msg == "forceQuit()" ) { - if ( type() != GuiServer ) - quit(); + if ( type() != GuiServer ) + quit(); } else if ( msg == "restart()" ) { - if ( type() == GuiServer ) - restart(); + if ( type() == GuiServer ) + restart(); } else if ( msg == "grabKeyboard(QString)" ) { - QString who; - stream >> who; - if ( who.isEmpty() ) - d->kbgrabber = 0; - else if ( who != d->appName ) - d->kbgrabber = 1; - else - d->kbgrabber = 2; + QString who; + stream >> who; + if ( who.isEmpty() ) + d->kbgrabber = 0; + else if ( who != d->appName ) + d->kbgrabber = 1; + else + d->kbgrabber = 2; } else if ( msg == "language(QString)" ) { - if ( type() == GuiServer ) { - QString l; - stream >> l; - QString cl = getenv("LANG"); - if ( cl != l ) { - if ( l.isNull() ) - unsetenv( "LANG" ); - else - setenv( "LANG", l.latin1(), 1 ); - restart(); - } - } + if ( type() == GuiServer ) { + QString l; + stream >> l; + QString cl = getenv("LANG"); + if ( cl != l ) { + if ( l.isNull() ) + unsetenv( "LANG" ); + else + setenv( "LANG", l.latin1(), 1 ); + restart(); + } + } } else if ( msg == "timeChange(QString)" ) { - QString t; - stream >> t; - if ( t.isNull() ) - unsetenv( "TZ" ); - else - setenv( "TZ", t.latin1(), 1 ); - // emit the signal so everyone else knows... - emit timeChanged(); + QString t; + stream >> t; + if ( t.isNull() ) + unsetenv( "TZ" ); + else + setenv( "TZ", t.latin1(), 1 ); + // emit the signal so everyone else knows... + emit timeChanged(); } else if ( msg == "execute(QString)" ) { - if ( type() == GuiServer ) { - QString t; - stream >> t; - Global::execute( t ); - } + if ( type() == GuiServer ) { + QString t; + stream >> t; + Global::execute( t ); + } } else if ( msg == "execute(QString,QString)" ) { - if ( type() == GuiServer ) { - QString t,d; - stream >> t >> d; - Global::execute( t, d ); - } + if ( type() == GuiServer ) { + QString t,d; + stream >> t >> d; + Global::execute( t, d ); + } } else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { - if ( type() == GuiServer ) { - QDateTime when; - QCString channel, message; - int data; - stream >> when >> channel >> message >> data; - AlarmServer::addAlarm( when, channel, message, data ); - } + if ( type() == GuiServer ) { + QDateTime when; + QCString channel, message; + int data; + stream >> when >> channel >> message >> data; + AlarmServer::addAlarm( when, channel, message, data ); + } } else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) { - if ( type() == GuiServer ) { - QDateTime when; - QCString channel, message; - int data; - stream >> when >> channel >> message >> data; - AlarmServer::deleteAlarm( when, channel, message, data ); - } + if ( type() == GuiServer ) { + QDateTime when; + QCString channel, message; + int data; + stream >> when >> channel >> message >> data; + AlarmServer::deleteAlarm( when, channel, message, data ); + } } else if ( msg == "clockChange(bool)" ) { - int tmp; - stream >> tmp; - emit clockChanged( tmp ); + int tmp; + stream >> tmp; + emit clockChanged( tmp ); } else if ( msg == "weekChange(bool)" ) { - int tmp; - stream >> tmp; - emit weekChanged( tmp ); + int tmp; + stream >> tmp; + emit weekChanged( tmp ); } else if ( msg == "setDateFormat(DateFormat)" ) { - DateFormat tmp; - stream >> tmp; - emit dateFormatChanged( tmp ); + DateFormat tmp; + stream >> tmp; + emit dateFormatChanged( tmp ); } else if ( msg == "setVolume(int,int)" ) { - int t,v; - stream >> t >> v; - setVolume(t,v); - emit volumeChanged( muted ); + int t,v; + stream >> t >> v; + setVolume(t,v); + emit volumeChanged( muted ); } else if ( msg == "volumeChange(bool)" ) { - stream >> muted; - setVolume(); - emit volumeChanged( muted ); - } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> - int t,v; - stream >> t >> v; - setMic(t,v); - emit micChanged( micMuted ); - } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> - stream >> micMuted; - setMic(); - emit micChanged( micMuted ); + stream >> muted; + setVolume(); + emit volumeChanged( muted ); + } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + int t,v; + stream >> t >> v; + setMic(t,v); + emit micChanged( micMuted ); + } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + stream >> micMuted; + setMic(); + emit micChanged( micMuted ); } else if ( msg == "setScreenSaverMode(int)" ) { - if ( type() == GuiServer ) { - int old = disable_suspend; - stream >> disable_suspend; - //qDebug("setScreenSaverMode(%d)", disable_suspend ); - if ( disable_suspend > old ) - setScreenSaverInterval( -1 ); - } - } + if ( type() == GuiServer ) { + int old = disable_suspend; + stream >> disable_suspend; + //qDebug("setScreenSaverMode(%d)", disable_suspend ); + if ( disable_suspend > old ) + setScreenSaverInterval( -1 ); + } + } #endif @@ -1067,12 +1070,12 @@ bool QPEApplication::raiseAppropriateWindow() if ( top && d->keep_running ) { - if ( top->isVisible() ) - r = TRUE; + if ( top->isVisible() ) + r = TRUE; #ifdef Q_WS_QWS - if ( !d->nomaximize ) - top->showMaximized(); - else + if ( !d->nomaximize ) + top->showMaximized(); + else #endif - top->show(); - top->raise(); - top->setActiveWindow(); + top->show(); + top->raise(); + top->setActiveWindow(); } @@ -1080,6 +1083,6 @@ bool QPEApplication::raiseAppropriateWindow() if ( topm && topm != top ) { - topm->show(); - topm->raise(); - topm->setActiveWindow(); - r = FALSE; + topm->show(); + topm->raise(); + topm->setActiveWindow(); + r = FALSE; } @@ -1093,42 +1096,42 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data) if ( msg == "quit()" ) { - tryQuit(); + tryQuit(); } else if ( msg == "quitIfInvisible()" ) { - if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) - quit(); + if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) + quit(); } else if ( msg == "close()" ) { - hideOrQuit(); + hideOrQuit(); } else if ( msg == "disablePreload()" ) { - d->preloaded = FALSE; - d->keep_running = TRUE; - /* so that quit will quit */ + d->preloaded = FALSE; + d->keep_running = TRUE; + /* so that quit will quit */ } else if ( msg == "enablePreload()" ) { - d->preloaded = TRUE; - d->keep_running = TRUE; - /* so next quit won't quit */ + d->preloaded = TRUE; + d->keep_running = TRUE; + /* so next quit won't quit */ } else if ( msg == "raise()" ) { - d->keep_running = TRUE; - d->notbusysent = FALSE; - raiseAppropriateWindow(); + d->keep_running = TRUE; + d->notbusysent = FALSE; + raiseAppropriateWindow(); } else if ( msg == "flush()" ) { - emit flush(); - // we need to tell the desktop - QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); - e << d->appName; + emit flush(); + // we need to tell the desktop + QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); + e << d->appName; } else if ( msg == "reload()" ) { - emit reload(); + emit reload(); } else if ( msg == "setDocument(QString)" ) { - d->keep_running = TRUE; - QDataStream stream( data, IO_ReadOnly ); - QString doc; - stream >> doc; - QWidget *mw = mainWidget(); - if ( !mw ) - mw = d->qpe_main_widget; - if ( mw ) - Global::setDocument( mw, doc ); + d->keep_running = TRUE; + QDataStream stream( data, IO_ReadOnly ); + QString doc; + stream >> doc; + QWidget *mw = mainWidget(); + if ( !mw ) + mw = d->qpe_main_widget; + if ( mw ) + Global::setDocument( mw, doc ); } else if ( msg == "nextView()" ) { - if ( raiseAppropriateWindow() ) - emit appMessage( msg, data); + if ( raiseAppropriateWindow() ) + emit appMessage( msg, data); } else { - emit appMessage( msg, data); + emit appMessage( msg, data); } @@ -1152,6 +1155,6 @@ static bool setWidgetCaptionFromAppName( QWidget* /*mw*/, const QString& /*appNa for ( QListIterator<AppLnk> it(appsList); it.current(); ++it ) { - if ( (*it)->exec() == appName ) { - mw->setCaption( (*it)->name() ); - return TRUE; - } + if ( (*it)->exec() == appName ) { + mw->setCaption( (*it)->name() ); + return TRUE; + } } @@ -1176,17 +1179,17 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) if ( d->preloaded ) { - if(d->forceshow) { + if(d->forceshow) { #ifdef Q_WS_QWS - if ( !nomaximize ) - mw->showMaximized(); - else + if ( !nomaximize ) + mw->showMaximized(); + else #endif - mw->show(); - } + mw->show(); + } } else if ( d->keep_running ) { #ifdef Q_WS_QWS - if ( !nomaximize ) - mw->showMaximized(); - else + if ( !nomaximize ) + mw->showMaximized(); + else #endif - mw->show(); + mw->show(); } @@ -1210,3 +1213,3 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) if ( mw && argc() == 2 ) - Global::setDocument( mw, QString::fromUtf8(argv()[1]) ); + Global::setDocument( mw, QString::fromUtf8(argv()[1]) ); d->nomaximize = nomaximize; @@ -1215,17 +1218,17 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) if ( d->preloaded ) { - if(d->forceshow) { + if(d->forceshow) { #ifdef Q_WS_QWS - if ( !nomaximize ) - mw->showMaximized(); - else + if ( !nomaximize ) + mw->showMaximized(); + else #endif - mw->show(); - } + mw->show(); + } } else if ( d->keep_running ) { #ifdef Q_WS_QWS - if ( !nomaximize ) - mw->showMaximized(); - else + if ( !nomaximize ) + mw->showMaximized(); + else #endif - mw->show(); + mw->show(); } @@ -1246,4 +1249,4 @@ void QPEApplication::setKeepRunning() if ( qApp && qApp->inherits( "QPEApplication" ) ) { - QPEApplication *qpeApp = (QPEApplication*)qApp; - qpeApp->d->keep_running = TRUE; + QPEApplication *qpeApp = (QPEApplication*)qApp; + qpeApp->d->keep_running = TRUE; } @@ -1269,6 +1272,6 @@ void QPEApplication::internalSetStyle( const QString &style ) if ( style == "QPE" ) { - setStyle( new QPEStyle ); + setStyle( new QPEStyle ); } else { - QStyle *s = QStyleFactory::create(style); - if ( s ) setStyle(s); + QStyle *s = QStyleFactory::create(style); + if ( s ) setStyle(s); } @@ -1276,7 +1279,7 @@ void QPEApplication::internalSetStyle( const QString &style ) if ( style == "Windows" ) { - setStyle( new QWindowsStyle ); + setStyle( new QWindowsStyle ); } else if ( style == "QPE" ) { - setStyle( new QPEStyle ); + setStyle( new QPEStyle ); } else if ( style == "Light" ) { - setStyle( new LightStyle ); + setStyle( new LightStyle ); } @@ -1284,3 +1287,3 @@ void QPEApplication::internalSetStyle( const QString &style ) else if ( style == "Platinum" ) { - setStyle( new QPlatinumStyle ); + setStyle( new QPlatinumStyle ); } @@ -1289,3 +1292,3 @@ void QPEApplication::internalSetStyle( const QString &style ) else if ( style == "Motif" ) { - setStyle( new QMotifStyle ); + setStyle( new QMotifStyle ); } @@ -1294,3 +1297,3 @@ void QPEApplication::internalSetStyle( const QString &style ) else if ( style == "MotifPlus" ) { - setStyle( new QMotifPlusStyle ); + setStyle( new QMotifPlusStyle ); } @@ -1306,13 +1309,13 @@ void QPEApplication::prepareForTermination(bool willrestart) if ( willrestart ) { - // Draw a big wait icon, the image can be altered in later revisions -// QWidget *d = QApplication::desktop(); - QImage img = Resource::loadImage( "launcher/new_wait" ); - QPixmap pix; - pix.convertFromImage(img.smoothScale(1*img.width(), 1*img.height())); - QLabel *lblWait = new QLabel(0, "wait hack!", QWidget::WStyle_Customize | - QWidget::WStyle_NoBorder | QWidget::WStyle_Tool ); - lblWait->setPixmap( pix ); - lblWait->setAlignment( QWidget::AlignCenter ); - lblWait->show(); - lblWait->showMaximized(); + // Draw a big wait icon, the image can be altered in later revisions +// QWidget *d = QApplication::desktop(); + QImage img = Resource::loadImage( "launcher/new_wait" ); + QPixmap pix; + pix.convertFromImage(img.smoothScale(1*img.width(), 1*img.height())); + QLabel *lblWait = new QLabel(0, "wait hack!", QWidget::WStyle_Customize | + QWidget::WStyle_NoBorder | QWidget::WStyle_Tool ); + lblWait->setPixmap( pix ); + lblWait->setAlignment( QWidget::AlignCenter ); + lblWait->show(); + lblWait->showMaximized(); } @@ -1345,3 +1348,3 @@ static void createDict() if ( !stylusDict ) - stylusDict = new QPtrDict<void>; + stylusDict = new QPtrDict<void>; } @@ -1356,3 +1359,3 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) if ( stylusDict ) - return (StylusMode)(int)stylusDict->find(w); + return (StylusMode)(int)stylusDict->find(w); return LeftOnly; @@ -1364,5 +1367,5 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) \value LeftOnly the stylus only generates LeftButton - events (the default). + events (the default). \value RightOnHold the stylus generates RightButton events - if the user uses the press-and-hold gesture. + if the user uses the press-and-hold gesture. @@ -1380,8 +1383,8 @@ void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode ) if ( mode == LeftOnly ) { - stylusDict->remove(w); - w->removeEventFilter(qApp); + stylusDict->remove(w); + w->removeEventFilter(qApp); } else { - stylusDict->insert(w,(void*)mode); - connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict())); - w->installEventFilter(qApp); + stylusDict->insert(w,(void*)mode); + connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict())); + w->installEventFilter(qApp); } @@ -1396,52 +1399,52 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e ) if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) { - QMouseEvent* me = (QMouseEvent*)e; - if ( me->button() == LeftButton ) { - StylusMode mode = (StylusMode)(int)stylusDict->find(o); - switch (mode) { - case RightOnHold: - switch ( me->type() ) { - case QEvent::MouseButtonPress: - d->presstimer = startTimer(500); // #### pref. - d->presswidget = (QWidget*)o; - d->presspos = me->pos(); - d->rightpressed = FALSE; - break; - case QEvent::MouseButtonRelease: - if ( d->presstimer ) { - killTimer(d->presstimer); - d->presstimer = 0; - } - if ( d->rightpressed && d->presswidget ) { - // Right released - postEvent( d->presswidget, - new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), - RightButton, LeftButton+RightButton ) ); - // Left released, off-widget - postEvent( d->presswidget, - new QMouseEvent( QEvent::MouseMove, QPoint(-1,-1), - LeftButton, LeftButton ) ); - postEvent( d->presswidget, - new QMouseEvent( QEvent::MouseButtonRelease, QPoint(-1,-1), - LeftButton, LeftButton ) ); - d->rightpressed = FALSE; - return TRUE; // don't send the real Left release - } - break; - default: - break; - } - break; - default: - ; - } - } + QMouseEvent* me = (QMouseEvent*)e; + if ( me->button() == LeftButton ) { + StylusMode mode = (StylusMode)(int)stylusDict->find(o); + switch (mode) { + case RightOnHold: + switch ( me->type() ) { + case QEvent::MouseButtonPress: + d->presstimer = startTimer(500); // #### pref. + d->presswidget = (QWidget*)o; + d->presspos = me->pos(); + d->rightpressed = FALSE; + break; + case QEvent::MouseButtonRelease: + if ( d->presstimer ) { + killTimer(d->presstimer); + d->presstimer = 0; + } + if ( d->rightpressed && d->presswidget ) { + // Right released + postEvent( d->presswidget, + new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), + RightButton, LeftButton+RightButton ) ); + // Left released, off-widget + postEvent( d->presswidget, + new QMouseEvent( QEvent::MouseMove, QPoint(-1,-1), + LeftButton, LeftButton ) ); + postEvent( d->presswidget, + new QMouseEvent( QEvent::MouseButtonRelease, QPoint(-1,-1), + LeftButton, LeftButton ) ); + d->rightpressed = FALSE; + return TRUE; // don't send the real Left release + } + break; + default: + break; + } + break; + default: + ; + } + } } else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { - QKeyEvent *ke = (QKeyEvent *)e; - if ( ke->key() == Key_Enter ) { - if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { - postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ', - ke->state(), " ", ke->isAutoRepeat(), ke->count() ) ); - return TRUE; - } - } + QKeyEvent *ke = (QKeyEvent *)e; + if ( ke->key() == Key_Enter ) { + if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { + postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ', + ke->state(), " ", ke->isAutoRepeat(), ke->count() ) ); + return TRUE; + } + } } @@ -1457,9 +1460,9 @@ void QPEApplication::timerEvent( QTimerEvent *e ) if ( e->timerId() == d->presstimer && d->presswidget ) { - // Right pressed - postEvent( d->presswidget, - new QMouseEvent( QEvent::MouseButtonPress, d->presspos, - RightButton, LeftButton ) ); - killTimer( d->presstimer ); - d->presstimer = 0; - d->rightpressed = TRUE; + // Right pressed + postEvent( d->presswidget, + new QMouseEvent( QEvent::MouseButtonPress, d->presspos, + RightButton, LeftButton ) ); + killTimer( d->presstimer ); + d->presstimer = 0; + d->rightpressed = TRUE; } @@ -1471,3 +1474,3 @@ void QPEApplication::removeSenderFromStylusDict() if ( d->presswidget == sender() ) - d->presswidget = 0; + d->presswidget = 0; } @@ -1491,6 +1494,6 @@ void QPEApplication::ungrabKeyboard() if ( d->kbgrabber == 2 ) { - QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); - e << QString::null; - d->kbregrab = FALSE; - d->kbgrabber = 0; + QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); + e << QString::null; + d->kbregrab = FALSE; + d->kbgrabber = 0; } @@ -1509,7 +1512,7 @@ void QPEApplication::grabKeyboard() if ( qApp->type() == QApplication::GuiServer ) - d->kbgrabber = 0; + d->kbgrabber = 0; else { - QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); - e << d->appName; - d->kbgrabber = 2; // me + QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); + e << d->appName; + d->kbgrabber = 2; // me } @@ -1524,4 +1527,4 @@ int QPEApplication::exec() if ( d->keep_running) - //|| d->qpe_main_widget && d->qpe_main_widget->isVisible() ) - return QApplication::exec(); + //|| d->qpe_main_widget && d->qpe_main_widget->isVisible() ) + return QApplication::exec(); @@ -1543,3 +1546,3 @@ void QPEApplication::tryQuit() if ( activeModalWidget() || strcmp( argv()[0], "embeddedkonsole") == 0 ) - return; // Inside modal loop or konsole. Too hard to save state. + return; // Inside modal loop or konsole. Too hard to save state. { @@ -1568,5 +1571,5 @@ void QPEApplication::hideOrQuit() if ( d->preloaded && d->qpe_main_widget ) - d->qpe_main_widget->hide(); + d->qpe_main_widget->hide(); else - quit(); + quit(); } @@ -1619,3 +1622,3 @@ void qt_setMaxWindowRect(const QRect& r) qt_maxWindowRect = qt_screen->mapFromDevice(r, - qt_screen->mapToDevice(QSize(qt_screen->width(),qt_screen->height()))); + qt_screen->mapToDevice(QSize(qt_screen->width(),qt_screen->height()))); // Re-resize any maximized windows |