author | zecke <zecke> | 2003-02-15 14:07:56 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-02-15 14:07:56 (UTC) |
commit | b1b8d1d40624c37555412047b6d925e043d2f388 (patch) (unidiff) | |
tree | 2f1e4d28ea6698a9df9a4e36b14102aa5908f33e | |
parent | 4049351d6bd48c8e5866f3bc047f567dfe4b35d6 (diff) | |
download | opie-b1b8d1d40624c37555412047b6d925e043d2f388.zip opie-b1b8d1d40624c37555412047b6d925e043d2f388.tar.gz opie-b1b8d1d40624c37555412047b6d925e043d2f388.tar.bz2 |
Implement flush and reload
so that syncing works with Opie/X11 again
-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 | |||
@@ -377,257 +377,264 @@ QString QPEApplication::documentDir() { | |||
377 | } | 377 | } |
378 | void QPEApplication::applyStyle() { | 378 | void QPEApplication::applyStyle() { |
379 | Config config( "qpe" ); | 379 | Config config( "qpe" ); |
380 | 380 | ||
381 | config.setGroup( "Appearance" ); | 381 | config.setGroup( "Appearance" ); |
382 | 382 | ||
383 | // Widget style | 383 | // Widget style |
384 | QString style = config.readEntry( "Style", "Light" ); | 384 | QString style = config.readEntry( "Style", "Light" ); |
385 | internalSetStyle( style ); | 385 | internalSetStyle( style ); |
386 | 386 | ||
387 | // Colors | 387 | // Colors |
388 | QColor bgcolor( config.readEntry( "Background", "#E5E1D5" ) ); | 388 | QColor bgcolor( config.readEntry( "Background", "#E5E1D5" ) ); |
389 | QColor btncolor( config.readEntry( "Button", "#D6CDBB" ) ); | 389 | QColor btncolor( config.readEntry( "Button", "#D6CDBB" ) ); |
390 | QPalette pal( btncolor, bgcolor ); | 390 | QPalette pal( btncolor, bgcolor ); |
391 | QString color = config.readEntry( "Highlight", "#800000" ); | 391 | QString color = config.readEntry( "Highlight", "#800000" ); |
392 | pal.setColor( QColorGroup::Highlight, QColor( color ) ); | 392 | pal.setColor( QColorGroup::Highlight, QColor( color ) ); |
393 | color = config.readEntry( "HighlightedText", "#FFFFFF" ); | 393 | color = config.readEntry( "HighlightedText", "#FFFFFF" ); |
394 | pal.setColor( QColorGroup::HighlightedText, QColor( color ) ); | 394 | pal.setColor( QColorGroup::HighlightedText, QColor( color ) ); |
395 | color = config.readEntry( "Text", "#000000" ); | 395 | color = config.readEntry( "Text", "#000000" ); |
396 | pal.setColor( QColorGroup::Text, QColor( color ) ); | 396 | pal.setColor( QColorGroup::Text, QColor( color ) ); |
397 | color = config.readEntry( "ButtonText", "#000000" ); | 397 | color = config.readEntry( "ButtonText", "#000000" ); |
398 | pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) ); | 398 | pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) ); |
399 | color = config.readEntry( "Base", "#FFFFFF" ); | 399 | color = config.readEntry( "Base", "#FFFFFF" ); |
400 | pal.setColor( QColorGroup::Base, QColor( color ) ); | 400 | pal.setColor( QColorGroup::Base, QColor( color ) ); |
401 | 401 | ||
402 | pal.setColor( QPalette::Disabled, QColorGroup::Text, | 402 | pal.setColor( QPalette::Disabled, QColorGroup::Text, |
403 | pal.color( QPalette::Active, QColorGroup::Background ).dark() ); | 403 | pal.color( QPalette::Active, QColorGroup::Background ).dark() ); |
404 | 404 | ||
405 | setPalette( pal, TRUE ); | 405 | setPalette( pal, TRUE ); |
406 | 406 | ||
407 | 407 | ||
408 | 408 | ||
409 | // Font | 409 | // Font |
410 | QString ff = config.readEntry( "FontFamily", font().family() ); | 410 | QString ff = config.readEntry( "FontFamily", font().family() ); |
411 | int fs = config.readNumEntry( "FontSize", font().pointSize() ); | 411 | int fs = config.readNumEntry( "FontSize", font().pointSize() ); |
412 | setFont( QFont(ff, fs) ); | 412 | setFont( QFont(ff, fs) ); |
413 | } | 413 | } |
414 | int QPEApplication::defaultRotation() { | 414 | int QPEApplication::defaultRotation() { |
415 | return 0; | 415 | return 0; |
416 | } | 416 | } |
417 | void QPEApplication::setDefaultRotation(int r ) { | 417 | void QPEApplication::setDefaultRotation(int r ) { |
418 | 418 | ||
419 | } | 419 | } |
420 | void QPEApplication::grabKeyboard() { | 420 | void QPEApplication::grabKeyboard() { |
421 | QPEApplication::Private * d = ( ( QPEApplication* ) qApp ) ->d; | 421 | QPEApplication::Private * d = ( ( QPEApplication* ) qApp ) ->d; |
422 | if ( qApp->type() == QApplication::GuiServer ) | 422 | if ( qApp->type() == QApplication::GuiServer ) |
423 | d->kbgrabber = 0; | 423 | d->kbgrabber = 0; |
424 | else { | 424 | else { |
425 | QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); | 425 | QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); |
426 | e << d->appName; | 426 | e << d->appName; |
427 | 427 | ||
428 | d->kbgrabber = 2; // me | 428 | d->kbgrabber = 2; // me |
429 | } | 429 | } |
430 | } | 430 | } |
431 | void QPEApplication::ungrabKeyboard() { | 431 | void QPEApplication::ungrabKeyboard() { |
432 | QPEApplication::Private * d = ( ( QPEApplication* ) qApp ) ->d; | 432 | QPEApplication::Private * d = ( ( QPEApplication* ) qApp ) ->d; |
433 | if ( d->kbgrabber == 2 ) { | 433 | if ( d->kbgrabber == 2 ) { |
434 | QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); | 434 | QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); |
435 | e << QString::null; | 435 | e << QString::null; |
436 | 436 | ||
437 | d->kbregrab = FALSE; | 437 | d->kbregrab = FALSE; |
438 | d->kbgrabber = 0; | 438 | d->kbgrabber = 0; |
439 | } | 439 | } |
440 | } | 440 | } |
441 | void QPEApplication::showMainWidget( QWidget* wid, bool b) { | 441 | void QPEApplication::showMainWidget( QWidget* wid, bool b) { |
442 | d->show(wid, b ); | 442 | d->show(wid, b ); |
443 | } | 443 | } |
444 | void QPEApplication::showMainDocumentWidget( QWidget* mw, bool m) { | 444 | void QPEApplication::showMainDocumentWidget( QWidget* mw, bool m) { |
445 | if ( mw && argc() == 2 ) | 445 | if ( mw && argc() == 2 ) |
446 | Global::setDocument( mw, QString::fromUtf8(argv()[1] ) ); | 446 | Global::setDocument( mw, QString::fromUtf8(argv()[1] ) ); |
447 | 447 | ||
448 | d->show(mw, m ); | 448 | d->show(mw, m ); |
449 | } | 449 | } |
450 | void QPEApplication::showDialog( QDialog* d, bool nomax ) { | 450 | void QPEApplication::showDialog( QDialog* d, bool nomax ) { |
451 | QSize sh = d->sizeHint(); | 451 | QSize sh = d->sizeHint(); |
452 | int w = QMAX(sh.width(),d->width()); | 452 | int w = QMAX(sh.width(),d->width()); |
453 | int h = QMAX(sh.height(),d->height()); | 453 | int h = QMAX(sh.height(),d->height()); |
454 | if ( !nomax | 454 | if ( !nomax |
455 | && ( w > qApp->desktop()->width()*3/4 | 455 | && ( w > qApp->desktop()->width()*3/4 |
456 | || h > qApp->desktop()->height()*3/4 ) ) | 456 | || h > qApp->desktop()->height()*3/4 ) ) |
457 | { | 457 | { |
458 | d->showMaximized(); | 458 | d->showMaximized(); |
459 | } else { | 459 | } else { |
460 | d->resize(w,h); | 460 | d->resize(w,h); |
461 | d->show(); | 461 | d->show(); |
462 | } | 462 | } |
463 | } | 463 | } |
464 | int QPEApplication::execDialog( QDialog* d, bool nomax) { | 464 | int QPEApplication::execDialog( QDialog* d, bool nomax) { |
465 | showDialog(d,nomax); | 465 | showDialog(d,nomax); |
466 | return d->exec(); | 466 | return d->exec(); |
467 | } | 467 | } |
468 | void QPEApplication::setKeepRunning() { | 468 | void QPEApplication::setKeepRunning() { |
469 | if ( qApp && qApp->inherits( "QPEApplication" ) ) { | 469 | if ( qApp && qApp->inherits( "QPEApplication" ) ) { |
470 | QPEApplication * qpeApp = ( QPEApplication* ) qApp; | 470 | QPEApplication * qpeApp = ( QPEApplication* ) qApp; |
471 | qpeApp->d->keep_running = TRUE; | 471 | qpeApp->d->keep_running = TRUE; |
472 | } | 472 | } |
473 | } | 473 | } |
474 | bool QPEApplication::keepRunning()const { | 474 | bool QPEApplication::keepRunning()const { |
475 | return d->keep_running; | 475 | return d->keep_running; |
476 | } | 476 | } |
477 | bool QPEApplication::keyboardGrabbed()const { | 477 | bool QPEApplication::keyboardGrabbed()const { |
478 | return d->kbgrabber; | 478 | return d->kbgrabber; |
479 | } | 479 | } |
480 | int QPEApplication::exec() { | 480 | int QPEApplication::exec() { |
481 | /* now send the QCOP stuff gotten from the file */ | 481 | /* now send the QCOP stuff gotten from the file */ |
482 | d->sendQCopQ(); | 482 | d->sendQCopQ(); |
483 | 483 | ||
484 | if ( d->keep_running ) { | 484 | if ( d->keep_running ) { |
485 | qWarning("going to exec"); | 485 | qWarning("going to exec"); |
486 | int a = QApplication::exec(); | 486 | int a = QApplication::exec(); |
487 | qWarning("left"); | 487 | qWarning("left"); |
488 | return a; | 488 | return a; |
489 | } | 489 | } |
490 | 490 | ||
491 | { | 491 | { |
492 | QCopEnvelope e( "QPE/System", "closing(QString)" ); | 492 | QCopEnvelope e( "QPE/System", "closing(QString)" ); |
493 | e << d->appName; | 493 | e << d->appName; |
494 | } | 494 | } |
495 | qWarning("processing events!"); | 495 | qWarning("processing events!"); |
496 | processEvents(); | 496 | processEvents(); |
497 | return 0; | 497 | return 0; |
498 | } | 498 | } |
499 | void QPEApplication::internalSetStyle( const QString& ) { | 499 | void QPEApplication::internalSetStyle( const QString& ) { |
500 | 500 | ||
501 | } | 501 | } |
502 | void QPEApplication::systemMessage( const QCString& chan, const QByteArray& ) { | 502 | void QPEApplication::systemMessage( const QCString& chan, const QByteArray& ) { |
503 | qWarning("QPEApplication::systemMessage( %s )", chan.data() ); | 503 | qWarning("QPEApplication::systemMessage( %s )", chan.data() ); |
504 | } | 504 | } |
505 | void QPEApplication::pidMessage( const QCString&, const QByteArray& ) { | 505 | void QPEApplication::pidMessage( const QCString& msg, const QByteArray& ) { |
506 | if ( msg == "flush()" ) { | ||
507 | emit flush(); | ||
508 | QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); | ||
509 | e << d->appName; | ||
510 | }else if ( msg == "reload()" ) { | ||
511 | emit reload(); | ||
512 | } | ||
506 | 513 | ||
507 | } | 514 | } |
508 | void QPEApplication::timerEvent( QTimerEvent* e ) { | 515 | void QPEApplication::timerEvent( QTimerEvent* e ) { |
509 | if ( e->timerId() == d->presstimer && d->presswidget ) { | 516 | if ( e->timerId() == d->presstimer && d->presswidget ) { |
510 | // Right pressed | 517 | // Right pressed |
511 | postEvent( d->presswidget, | 518 | postEvent( d->presswidget, |
512 | new QMouseEvent( QEvent::MouseButtonPress, d->presspos, | 519 | new QMouseEvent( QEvent::MouseButtonPress, d->presspos, |
513 | RightButton, LeftButton ) ); | 520 | RightButton, LeftButton ) ); |
514 | killTimer( d->presstimer ); | 521 | killTimer( d->presstimer ); |
515 | d->presstimer = 0; | 522 | d->presstimer = 0; |
516 | } | 523 | } |
517 | } | 524 | } |
518 | 525 | ||
519 | // InputMethods Hints | 526 | // InputMethods Hints |
520 | namespace { | 527 | namespace { |
521 | static QPtrDict<void>* inputMethodDict = 0; | 528 | static QPtrDict<void>* inputMethodDict = 0; |
522 | static void createInputMethodDict(){ | 529 | static void createInputMethodDict(){ |
523 | if ( !inputMethodDict ) | 530 | if ( !inputMethodDict ) |
524 | inputMethodDict = new QPtrDict<void>; | 531 | inputMethodDict = new QPtrDict<void>; |
525 | } | 532 | } |
526 | 533 | ||
527 | static QPtrDict<void>* stylusDict = 0; | 534 | static QPtrDict<void>* stylusDict = 0; |
528 | static void createDict() { | 535 | static void createDict() { |
529 | if ( !stylusDict ) | 536 | if ( !stylusDict ) |
530 | stylusDict = new QPtrDict<void>; | 537 | stylusDict = new QPtrDict<void>; |
531 | } | 538 | } |
532 | }; | 539 | }; |
533 | 540 | ||
534 | void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode ) { | 541 | void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode ) { |
535 | createInputMethodDict(); | 542 | createInputMethodDict(); |
536 | if ( mode == Normal ) { | 543 | if ( mode == Normal ) { |
537 | inputMethodDict->remove | 544 | inputMethodDict->remove |
538 | ( w ); | 545 | ( w ); |
539 | }else { | 546 | }else { |
540 | inputMethodDict->insert( w, ( void* ) mode ); | 547 | inputMethodDict->insert( w, ( void* ) mode ); |
541 | } | 548 | } |
542 | } | 549 | } |
543 | QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget* w) { | 550 | QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget* w) { |
544 | if ( inputMethodDict && w ) | 551 | if ( inputMethodDict && w ) |
545 | return ( InputMethodHint ) ( int ) inputMethodDict->find( w ); | 552 | return ( InputMethodHint ) ( int ) inputMethodDict->find( w ); |
546 | return Normal; | 553 | return Normal; |
547 | } | 554 | } |
548 | 555 | ||
549 | 556 | ||
550 | void QPEApplication::removeSenderFromStylusDict() { | 557 | void QPEApplication::removeSenderFromStylusDict() { |
551 | stylusDict->remove( ( void* ) sender() ); | 558 | stylusDict->remove( ( void* ) sender() ); |
552 | if ( d->presswidget == sender() ) | 559 | if ( d->presswidget == sender() ) |
553 | d->presswidget = 0; | 560 | d->presswidget = 0; |
554 | } | 561 | } |
555 | void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode) { | 562 | void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode) { |
556 | createDict(); | 563 | createDict(); |
557 | if ( mode == LeftOnly ) { | 564 | if ( mode == LeftOnly ) { |
558 | stylusDict->remove | 565 | stylusDict->remove |
559 | ( w ); | 566 | ( w ); |
560 | w->removeEventFilter( qApp ); | 567 | w->removeEventFilter( qApp ); |
561 | }else { | 568 | }else { |
562 | stylusDict->insert( w, ( void* ) mode ); | 569 | stylusDict->insert( w, ( void* ) mode ); |
563 | connect( w, SIGNAL( destroyed() ), qApp, SLOT( removeSenderFromStylusDict() ) ); | 570 | connect( w, SIGNAL( destroyed() ), qApp, SLOT( removeSenderFromStylusDict() ) ); |
564 | w->installEventFilter( qApp ); | 571 | w->installEventFilter( qApp ); |
565 | } | 572 | } |
566 | } | 573 | } |
567 | QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w) { | 574 | QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w) { |
568 | if ( stylusDict ) | 575 | if ( stylusDict ) |
569 | return ( StylusMode ) ( int ) stylusDict->find( w ); | 576 | return ( StylusMode ) ( int ) stylusDict->find( w ); |
570 | return LeftOnly; | 577 | return LeftOnly; |
571 | } | 578 | } |
572 | 579 | ||
573 | // eventFilter...... | 580 | // eventFilter...... |
574 | bool QPEApplication::eventFilter( QObject* o, QEvent* e ) { | 581 | bool QPEApplication::eventFilter( QObject* o, QEvent* e ) { |
575 | /* | 582 | /* |
576 | * We want our WM to show Ok and a X button | 583 | * We want our WM to show Ok and a X button |
577 | * on dialogs | 584 | * on dialogs |
578 | * our part is to set the _NET_WM_CONTEXT_ACCEPT | 585 | * our part is to set the _NET_WM_CONTEXT_ACCEPT |
579 | * propery | 586 | * propery |
580 | * and then wait for a client message -zecke | 587 | * and then wait for a client message -zecke |
581 | * on show we will add the prop | 588 | * on show we will add the prop |
582 | */ | 589 | */ |
583 | if (o->inherits("QDialog") && e->type() == QEvent::Show ) { | 590 | if (o->inherits("QDialog") && e->type() == QEvent::Show ) { |
584 | QDialog* dialog = (QDialog*)o; | 591 | QDialog* dialog = (QDialog*)o; |
585 | Atom wm_prot[45]; | 592 | Atom wm_prot[45]; |
586 | int n = 0; | 593 | int n = 0; |
587 | wm_prot[n++] = d->wm_delete_window; | 594 | wm_prot[n++] = d->wm_delete_window; |
588 | wm_prot[n++] = d->wm_take_focus; | 595 | wm_prot[n++] = d->wm_take_focus; |
589 | wm_prot[n++] = d->wm_context_accept; | 596 | wm_prot[n++] = d->wm_context_accept; |
590 | if ( dialog->testWFlags( WStyle_ContextHelp ) ) | 597 | if ( dialog->testWFlags( WStyle_ContextHelp ) ) |
591 | wm_prot[n++] = d->wm_context_help; | 598 | wm_prot[n++] = d->wm_context_help; |
592 | XSetWMProtocols( qt_xdisplay(), dialog->winId(), wm_prot, n ); | 599 | XSetWMProtocols( qt_xdisplay(), dialog->winId(), wm_prot, n ); |
593 | return TRUE; // should be save | 600 | return TRUE; // should be save |
594 | } | 601 | } |
595 | if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) { | 602 | if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) { |
596 | QMouseEvent * me = ( QMouseEvent* ) e; | 603 | QMouseEvent * me = ( QMouseEvent* ) e; |
597 | StylusMode mode = (StylusMode)(int)stylusDict->find(o); | 604 | StylusMode mode = (StylusMode)(int)stylusDict->find(o); |
598 | switch (mode) { | 605 | switch (mode) { |
599 | case RightOnHold: | 606 | case RightOnHold: |
600 | switch ( me->type() ) { | 607 | switch ( me->type() ) { |
601 | case QEvent::MouseButtonPress: | 608 | case QEvent::MouseButtonPress: |
602 | if ( me->button() == LeftButton ) { | 609 | if ( me->button() == LeftButton ) { |
603 | d->presstimer = startTimer(500); // #### pref. | 610 | d->presstimer = startTimer(500); // #### pref. |
604 | d->presswidget = (QWidget*)o; | 611 | d->presswidget = (QWidget*)o; |
605 | d->presspos = me->pos(); | 612 | d->presspos = me->pos(); |
606 | d->rightpressed = FALSE; | 613 | d->rightpressed = FALSE; |
607 | } | 614 | } |
608 | break; | 615 | break; |
609 | case QEvent::MouseMove: | 616 | case QEvent::MouseMove: |
610 | if (d->presstimer && (me->pos() - d->presspos).manhattanLength() > 8) { | 617 | if (d->presstimer && (me->pos() - d->presspos).manhattanLength() > 8) { |
611 | killTimer(d->presstimer); | 618 | killTimer(d->presstimer); |
612 | d->presstimer = 0; | 619 | d->presstimer = 0; |
613 | } | 620 | } |
614 | break; | 621 | break; |
615 | case QEvent::MouseButtonRelease: | 622 | case QEvent::MouseButtonRelease: |
616 | if ( me->button() == LeftButton ) { | 623 | if ( me->button() == LeftButton ) { |
617 | if ( d->presstimer ) { | 624 | if ( d->presstimer ) { |
618 | killTimer(d->presstimer); | 625 | killTimer(d->presstimer); |
619 | d->presstimer = 0; | 626 | d->presstimer = 0; |
620 | } | 627 | } |
621 | if ( d->rightpressed && d->presswidget ) { | 628 | if ( d->rightpressed && d->presswidget ) { |
622 | // Right released | 629 | // Right released |
623 | postEvent( d->presswidget, | 630 | postEvent( d->presswidget, |
624 | new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), | 631 | new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), |
625 | RightButton, LeftButton + RightButton ) ); | 632 | RightButton, LeftButton + RightButton ) ); |
626 | // Left released, off-widget | 633 | // Left released, off-widget |
627 | postEvent( d->presswidget, | 634 | postEvent( d->presswidget, |
628 | new QMouseEvent( QEvent::MouseMove, QPoint( -1, -1), | 635 | new QMouseEvent( QEvent::MouseMove, QPoint( -1, -1), |
629 | LeftButton, LeftButton ) ); | 636 | LeftButton, LeftButton ) ); |
630 | postEvent( d->presswidget, | 637 | postEvent( d->presswidget, |
631 | new QMouseEvent( QEvent::MouseButtonRelease, QPoint( -1, -1), | 638 | new QMouseEvent( QEvent::MouseButtonRelease, QPoint( -1, -1), |
632 | LeftButton, LeftButton ) ); | 639 | LeftButton, LeftButton ) ); |
633 | d->rightpressed = FALSE; | 640 | d->rightpressed = FALSE; |