Diffstat (limited to 'x11/libqpe-x11/qpe/qpeapplication.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | x11/libqpe-x11/qpe/qpeapplication.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/x11/libqpe-x11/qpe/qpeapplication.cpp b/x11/libqpe-x11/qpe/qpeapplication.cpp index c4f8f38..ed815f8 100644 --- a/x11/libqpe-x11/qpe/qpeapplication.cpp +++ b/x11/libqpe-x11/qpe/qpeapplication.cpp @@ -409,193 +409,200 @@ void QPEApplication::applyStyle() { // Font QString ff = config.readEntry( "FontFamily", font().family() ); int fs = config.readNumEntry( "FontSize", font().pointSize() ); setFont( QFont(ff, fs) ); } int QPEApplication::defaultRotation() { return 0; } void QPEApplication::setDefaultRotation(int r ) { } void QPEApplication::grabKeyboard() { QPEApplication::Private * d = ( ( QPEApplication* ) qApp ) ->d; if ( qApp->type() == QApplication::GuiServer ) d->kbgrabber = 0; else { QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); e << d->appName; d->kbgrabber = 2; // me } } void QPEApplication::ungrabKeyboard() { QPEApplication::Private * d = ( ( QPEApplication* ) qApp ) ->d; if ( d->kbgrabber == 2 ) { QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); e << QString::null; d->kbregrab = FALSE; d->kbgrabber = 0; } } void QPEApplication::showMainWidget( QWidget* wid, bool b) { d->show(wid, b ); } void QPEApplication::showMainDocumentWidget( QWidget* mw, bool m) { if ( mw && argc() == 2 ) Global::setDocument( mw, QString::fromUtf8(argv()[1] ) ); d->show(mw, m ); } void QPEApplication::showDialog( QDialog* d, bool nomax ) { QSize sh = d->sizeHint(); int w = QMAX(sh.width(),d->width()); int h = QMAX(sh.height(),d->height()); if ( !nomax && ( w > qApp->desktop()->width()*3/4 || h > qApp->desktop()->height()*3/4 ) ) { d->showMaximized(); } else { d->resize(w,h); d->show(); } } int QPEApplication::execDialog( QDialog* d, bool nomax) { showDialog(d,nomax); return d->exec(); } void QPEApplication::setKeepRunning() { if ( qApp && qApp->inherits( "QPEApplication" ) ) { QPEApplication * qpeApp = ( QPEApplication* ) qApp; qpeApp->d->keep_running = TRUE; } } bool QPEApplication::keepRunning()const { return d->keep_running; } bool QPEApplication::keyboardGrabbed()const { return d->kbgrabber; } int QPEApplication::exec() { /* now send the QCOP stuff gotten from the file */ d->sendQCopQ(); if ( d->keep_running ) { qWarning("going to exec"); int a = QApplication::exec(); qWarning("left"); return a; } { QCopEnvelope e( "QPE/System", "closing(QString)" ); e << d->appName; } qWarning("processing events!"); processEvents(); return 0; } void QPEApplication::internalSetStyle( const QString& ) { } void QPEApplication::systemMessage( const QCString& chan, const QByteArray& ) { qWarning("QPEApplication::systemMessage( %s )", chan.data() ); } -void QPEApplication::pidMessage( const QCString&, const QByteArray& ) { +void QPEApplication::pidMessage( const QCString& msg, const QByteArray& ) { + if ( msg == "flush()" ) { + emit flush(); + QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); + e << d->appName; + }else if ( msg == "reload()" ) { + emit reload(); + } } 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; } } // InputMethods Hints namespace { static QPtrDict<void>* inputMethodDict = 0; static void createInputMethodDict(){ if ( !inputMethodDict ) inputMethodDict = new QPtrDict<void>; } static QPtrDict<void>* stylusDict = 0; static void createDict() { if ( !stylusDict ) stylusDict = new QPtrDict<void>; } }; void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode ) { createInputMethodDict(); if ( mode == Normal ) { inputMethodDict->remove ( w ); }else { inputMethodDict->insert( w, ( void* ) mode ); } } QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget* w) { if ( inputMethodDict && w ) return ( InputMethodHint ) ( int ) inputMethodDict->find( w ); return Normal; } void QPEApplication::removeSenderFromStylusDict() { stylusDict->remove( ( void* ) sender() ); if ( d->presswidget == sender() ) d->presswidget = 0; } void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode) { createDict(); if ( mode == LeftOnly ) { stylusDict->remove ( w ); w->removeEventFilter( qApp ); }else { stylusDict->insert( w, ( void* ) mode ); connect( w, SIGNAL( destroyed() ), qApp, SLOT( removeSenderFromStylusDict() ) ); w->installEventFilter( qApp ); } } QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w) { if ( stylusDict ) return ( StylusMode ) ( int ) stylusDict->find( w ); return LeftOnly; } // eventFilter...... bool QPEApplication::eventFilter( QObject* o, QEvent* e ) { /* * We want our WM to show Ok and a X button * on dialogs * our part is to set the _NET_WM_CONTEXT_ACCEPT * propery * and then wait for a client message -zecke * on show we will add the prop */ if (o->inherits("QDialog") && e->type() == QEvent::Show ) { QDialog* dialog = (QDialog*)o; Atom wm_prot[45]; int n = 0; wm_prot[n++] = d->wm_delete_window; wm_prot[n++] = d->wm_take_focus; wm_prot[n++] = d->wm_context_accept; if ( dialog->testWFlags( WStyle_ContextHelp ) ) wm_prot[n++] = d->wm_context_help; XSetWMProtocols( qt_xdisplay(), dialog->winId(), wm_prot, n ); return TRUE; // should be save } if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) { QMouseEvent * me = ( QMouseEvent* ) e; StylusMode mode = (StylusMode)(int)stylusDict->find(o); switch (mode) { case RightOnHold: switch ( me->type() ) { case QEvent::MouseButtonPress: |