author | zecke <zecke> | 2004-02-21 23:07:32 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-02-21 23:07:32 (UTC) |
commit | 57598b2a111ea924c5ad632cefb4ad7697c35759 (patch) (unidiff) | |
tree | 4f52a1dfad6ca25b6b52317c79b72753c8fe2264 | |
parent | 4cfad0d1331a5e3adc8bc2599783750875e6fd2b (diff) | |
download | opie-57598b2a111ea924c5ad632cefb4ad7697c35759.zip opie-57598b2a111ea924c5ad632cefb4ad7697c35759.tar.gz opie-57598b2a111ea924c5ad632cefb4ad7697c35759.tar.bz2 |
Unbreak fastloading. So the API Documentation is a lie..
showMainWidget may not setMainWidget because this would
break Fastloading..
-rw-r--r-- | library/qpeapplication.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 6f2e43b..c7ef2b7 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp | |||
@@ -415,49 +415,49 @@ static void setBass( int t = 0, int percent = -1 ) | |||
415 | static void setTreble( int t = 0, int percent = -1 ) | 415 | static void setTreble( int t = 0, int percent = -1 ) |
416 | { | 416 | { |
417 | switch ( t ) { | 417 | switch ( t ) { |
418 | case 0: { | 418 | case 0: { |
419 | Config cfg( "qpe" ); | 419 | Config cfg( "qpe" ); |
420 | cfg.setGroup( "Volume" ); | 420 | cfg.setGroup( "Volume" ); |
421 | if ( percent < 0 ) | 421 | if ( percent < 0 ) |
422 | percent = cfg.readNumEntry( "TreblePercent", 50 ); | 422 | percent = cfg.readNumEntry( "TreblePercent", 50 ); |
423 | 423 | ||
424 | #ifndef QT_NO_SOUND | 424 | #ifndef QT_NO_SOUND |
425 | int fd = 0; | 425 | int fd = 0; |
426 | int treble = percent; | 426 | int treble = percent; |
427 | if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { | 427 | if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { |
428 | ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble ); | 428 | ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble ); |
429 | ::close( fd ); | 429 | ::close( fd ); |
430 | } | 430 | } |
431 | #endif | 431 | #endif |
432 | } | 432 | } |
433 | break; | 433 | break; |
434 | } | 434 | } |
435 | } | 435 | } |
436 | 436 | ||
437 | 437 | ||
438 | /** | 438 | /** |
439 | \class QPEApplication | 439 | \class QPEApplication |
440 | \brief The QPEApplication class implements various system services | 440 | \brief The QPEApplication class implements various system services |
441 | that are available to all Qtopia applications. | 441 | that are available to all Qtopia applications. |
442 | 442 | ||
443 | Simply by using QPEApplication instead of QApplication, a standard Qt | 443 | Simply by using QPEApplication instead of QApplication, a standard Qt |
444 | application becomes a Qtopia application. It automatically follows | 444 | application becomes a Qtopia application. It automatically follows |
445 | style changes, quits and raises, and in the | 445 | style changes, quits and raises, and in the |
446 | case of \link docwidget.html document-oriented\endlink applications, | 446 | case of \link docwidget.html document-oriented\endlink applications, |
447 | changes the currently displayed document in response to the environment. | 447 | changes the currently displayed document in response to the environment. |
448 | 448 | ||
449 | To create a \link docwidget.html document-oriented\endlink | 449 | To create a \link docwidget.html document-oriented\endlink |
450 | application use showMainDocumentWidget(); to create a | 450 | application use showMainDocumentWidget(); to create a |
451 | non-document-oriented application use showMainWidget(). The | 451 | non-document-oriented application use showMainWidget(). The |
452 | keepRunning() function indicates whether the application will | 452 | keepRunning() function indicates whether the application will |
453 | continue running after it's processed the last \link qcop.html | 453 | continue running after it's processed the last \link qcop.html |
454 | QCop\endlink message. This can be changed using setKeepRunning(). | 454 | QCop\endlink message. This can be changed using setKeepRunning(). |
455 | 455 | ||
456 | A variety of signals are emitted when certain events occur, for | 456 | A variety of signals are emitted when certain events occur, for |
457 | example, timeChanged(), clockChanged(), weekChanged(), | 457 | example, timeChanged(), clockChanged(), weekChanged(), |
458 | dateFormatChanged() and volumeChanged(). If the application receives | 458 | dateFormatChanged() and volumeChanged(). If the application receives |
459 | a \link qcop.html QCop\endlink message on the application's | 459 | a \link qcop.html QCop\endlink message on the application's |
460 | QPE/Application/\e{appname} channel, the appMessage() signal is | 460 | QPE/Application/\e{appname} channel, the appMessage() signal is |
461 | emitted. There are also flush() and reload() signals, which | 461 | emitted. There are also flush() and reload() signals, which |
462 | are emitted when synching begins and ends respectively - upon these | 462 | are emitted when synching begins and ends respectively - upon these |
463 | signals, the application should save and reload any data | 463 | signals, the application should save and reload any data |
@@ -714,72 +714,71 @@ QPEApplication::QPEApplication( int & argc, char **argv, Type t ) | |||
714 | #endif | 714 | #endif |
715 | } | 715 | } |
716 | #endif | 716 | #endif |
717 | 717 | ||
718 | applyStyle(); | 718 | applyStyle(); |
719 | 719 | ||
720 | if ( type() == GuiServer ) { | 720 | if ( type() == GuiServer ) { |
721 | setVolume(); | 721 | setVolume(); |
722 | } | 722 | } |
723 | 723 | ||
724 | installEventFilter( this ); | 724 | installEventFilter( this ); |
725 | 725 | ||
726 | QPEMenuToolFocusManager::initialize(); | 726 | QPEMenuToolFocusManager::initialize(); |
727 | 727 | ||
728 | #ifdef QT_NO_QWS_CURSOR | 728 | #ifdef QT_NO_QWS_CURSOR |
729 | // if we have no cursor, probably don't want tooltips | 729 | // if we have no cursor, probably don't want tooltips |
730 | QToolTip::setEnabled( FALSE ); | 730 | QToolTip::setEnabled( FALSE ); |
731 | #endif | 731 | #endif |
732 | } | 732 | } |
733 | 733 | ||
734 | 734 | ||
735 | #ifdef QTOPIA_INTERNAL_INITAPP | 735 | #ifdef QTOPIA_INTERNAL_INITAPP |
736 | void QPEApplication::initApp( int argc, char **argv ) | 736 | void QPEApplication::initApp( int argc, char **argv ) |
737 | { | 737 | { |
738 | bool initial = pidChannel; // was set to 0 in the initializer | ||
739 | delete pidChannel; | 738 | delete pidChannel; |
740 | d->keep_running = TRUE; | 739 | d->keep_running = TRUE; |
741 | d->preloaded = FALSE; | 740 | d->preloaded = FALSE; |
742 | d->forceshow = FALSE; | 741 | d->forceshow = FALSE; |
743 | 742 | ||
744 | QCString channel = QCString(argv[0]); | 743 | QCString channel = QCString(argv[0]); |
745 | 744 | ||
746 | channel.replace(QRegExp(".*/"),""); | 745 | channel.replace(QRegExp(".*/"),""); |
747 | d->appName = channel; | 746 | d->appName = channel; |
748 | 747 | ||
749 | #if QT_VERSION > 235 | 748 | #if QT_VERSION > 235 |
750 | qt_fbdpy->setIdentity( channel ); // In Qt/E 2.3.6 | 749 | qt_fbdpy->setIdentity( channel ); // In Qt/E 2.3.6 |
751 | #endif | 750 | #endif |
752 | 751 | ||
753 | channel = "QPE/Application/" + channel; | 752 | channel = "QPE/Application/" + channel; |
754 | pidChannel = new QCopChannel( channel, this); | 753 | pidChannel = new QCopChannel( channel, this); |
755 | connect( pidChannel, SIGNAL(received(const QCString &, const QByteArray &)), | 754 | connect( pidChannel, SIGNAL(received(const QCString &, const QByteArray &)), |
756 | this, SLOT(pidMessage(const QCString &, const QByteArray &))); | 755 | this, SLOT(pidMessage(const QCString &, const QByteArray &))); |
757 | 756 | ||
758 | if (!initial) { | 757 | |
759 | processQCopFile(); | 758 | |
760 | d->keep_running = d->qcopq.isEmpty(); | 759 | processQCopFile(); |
761 | } | 760 | d->keep_running = d->qcopq.isEmpty(); |
762 | 761 | ||
763 | for (int a=0; a<argc; a++) { | 762 | for (int a=0; a<argc; a++) { |
764 | if ( qstrcmp(argv[a],"-preload")==0 ) { | 763 | if ( qstrcmp(argv[a],"-preload")==0 ) { |
765 | argv[a] = argv[a+1]; | 764 | argv[a] = argv[a+1]; |
766 | a++; | 765 | a++; |
767 | d->preloaded = TRUE; | 766 | d->preloaded = TRUE; |
768 | argc-=1; | 767 | argc-=1; |
769 | } else if ( qstrcmp(argv[a],"-preload-show")==0 ) { | 768 | } else if ( qstrcmp(argv[a],"-preload-show")==0 ) { |
770 | argv[a] = argv[a+1]; | 769 | argv[a] = argv[a+1]; |
771 | a++; | 770 | a++; |
772 | d->preloaded = TRUE; | 771 | d->preloaded = TRUE; |
773 | d->forceshow = TRUE; | 772 | d->forceshow = TRUE; |
774 | argc-=1; | 773 | argc-=1; |
775 | } | 774 | } |
776 | } | 775 | } |
777 | 776 | ||
778 | /* overide stored arguments */ | 777 | /* overide stored arguments */ |
779 | setArgs(argc, argv); | 778 | setArgs(argc, argv); |
780 | 779 | ||
781 | /* install translation here */ | 780 | /* install translation here */ |
782 | for ( QStringList::ConstIterator it = d->langs.begin(); it != d->langs.end(); ++it ) | 781 | for ( QStringList::ConstIterator it = d->langs.begin(); it != d->langs.end(); ++it ) |
783 | installTranslation( (*it) + "/" + d->appName + ".qm" ); | 782 | installTranslation( (*it) + "/" + d->appName + ".qm" ); |
784 | } | 783 | } |
785 | #endif | 784 | #endif |
@@ -1550,70 +1549,70 @@ void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) | |||
1550 | raiseAppropriateWindow(); | 1549 | raiseAppropriateWindow(); |
1551 | if ( !p ) { | 1550 | if ( !p ) { |
1552 | // Tell the system we're still chugging along... | 1551 | // Tell the system we're still chugging along... |
1553 | #ifndef QT_NO_COP | 1552 | #ifndef QT_NO_COP |
1554 | QCopEnvelope e("QPE/System", "appRaised(QString)"); | 1553 | QCopEnvelope e("QPE/System", "appRaised(QString)"); |
1555 | e << d->appName; | 1554 | e << d->appName; |
1556 | #endif | 1555 | #endif |
1557 | } | 1556 | } |
1558 | } | 1557 | } |
1559 | if ( p ) | 1558 | if ( p ) |
1560 | d->keep_running = p; | 1559 | d->keep_running = p; |
1561 | } | 1560 | } |
1562 | #endif | 1561 | #endif |
1563 | } | 1562 | } |
1564 | 1563 | ||
1565 | 1564 | ||
1566 | /*! | 1565 | /*! |
1567 | Sets widget \a mw as the mainWidget() and shows it. For small windows, | 1566 | Sets widget \a mw as the mainWidget() and shows it. For small windows, |
1568 | consider passing TRUE for \a nomaximize rather than the default FALSE. | 1567 | consider passing TRUE for \a nomaximize rather than the default FALSE. |
1569 | 1568 | ||
1570 | \sa showMainDocumentWidget() | 1569 | \sa showMainDocumentWidget() |
1571 | */ | 1570 | */ |
1572 | void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) | 1571 | void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) |
1573 | { | 1572 | { |
1574 | setMainWidget(mw); | 1573 | // setMainWidget(mw); this breaks FastLoading because lastWindowClose() would quit |
1575 | d->show(mw, nomaximize ); | 1574 | d->show(mw, nomaximize ); |
1576 | } | 1575 | } |
1577 | 1576 | ||
1578 | /*! | 1577 | /*! |
1579 | Sets widget \a mw as the mainWidget() and shows it. For small windows, | 1578 | Sets widget \a mw as the mainWidget() and shows it. For small windows, |
1580 | consider passing TRUE for \a nomaximize rather than the default FALSE. | 1579 | consider passing TRUE for \a nomaximize rather than the default FALSE. |
1581 | 1580 | ||
1582 | This calls designates the application as | 1581 | This calls designates the application as |
1583 | a \link docwidget.html document-oriented\endlink application. | 1582 | a \link docwidget.html document-oriented\endlink application. |
1584 | 1583 | ||
1585 | The \a mw widget \e must have this slot: setDocument(const QString&). | 1584 | The \a mw widget \e must have this slot: setDocument(const QString&). |
1586 | 1585 | ||
1587 | \sa showMainWidget() | 1586 | \sa showMainWidget() |
1588 | */ | 1587 | */ |
1589 | void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) | 1588 | void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) |
1590 | { | 1589 | { |
1591 | if ( mw && argc() == 2 ) | 1590 | if ( mw && argc() == 2 ) |
1592 | Global::setDocument( mw, QString::fromUtf8(argv()[1]) ); | 1591 | Global::setDocument( mw, QString::fromUtf8(argv()[1]) ); |
1593 | 1592 | ||
1594 | 1593 | ||
1595 | setMainWidget(mw); | 1594 | //setMainWidget(mw); see above |
1596 | d->show(mw, nomaximize ); | 1595 | d->show(mw, nomaximize ); |
1597 | } | 1596 | } |
1598 | 1597 | ||
1599 | 1598 | ||
1600 | /*! | 1599 | /*! |
1601 | If an application is started via a \link qcop.html QCop\endlink | 1600 | If an application is started via a \link qcop.html QCop\endlink |
1602 | message, the application will process the \link qcop.html | 1601 | message, the application will process the \link qcop.html |
1603 | QCop\endlink message and then quit. If the application calls this | 1602 | QCop\endlink message and then quit. If the application calls this |
1604 | function while processing a \link qcop.html QCop\endlink message, | 1603 | function while processing a \link qcop.html QCop\endlink message, |
1605 | after processing its outstanding \link qcop.html QCop\endlink | 1604 | after processing its outstanding \link qcop.html QCop\endlink |
1606 | messages the application will start 'properly' and show itself. | 1605 | messages the application will start 'properly' and show itself. |
1607 | 1606 | ||
1608 | \sa keepRunning() | 1607 | \sa keepRunning() |
1609 | */ | 1608 | */ |
1610 | void QPEApplication::setKeepRunning() | 1609 | void QPEApplication::setKeepRunning() |
1611 | { | 1610 | { |
1612 | if ( qApp && qApp->inherits( "QPEApplication" ) ) { | 1611 | if ( qApp && qApp->inherits( "QPEApplication" ) ) { |
1613 | QPEApplication * qpeApp = ( QPEApplication* ) qApp; | 1612 | QPEApplication * qpeApp = ( QPEApplication* ) qApp; |
1614 | qpeApp->d->keep_running = TRUE; | 1613 | qpeApp->d->keep_running = TRUE; |
1615 | } | 1614 | } |
1616 | } | 1615 | } |
1617 | 1616 | ||
1618 | /*! | 1617 | /*! |
1619 | Returns TRUE if the application will quit after processing the | 1618 | Returns TRUE if the application will quit after processing the |