-rw-r--r-- | library/qpeapplication.cpp | 155 |
1 files changed, 108 insertions, 47 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index c41dd06..852671a 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp | |||
@@ -96,5 +96,5 @@ public: | |||
96 | rightpressed( FALSE ), kbregrab( FALSE ), notbusysent( FALSE ), preloaded( FALSE ), | 96 | rightpressed( FALSE ), kbregrab( FALSE ), notbusysent( FALSE ), preloaded( FALSE ), |
97 | forceshow( FALSE ), nomaximize( FALSE ), keep_running( TRUE ), qpe_main_widget( 0 ) | 97 | forceshow( FALSE ), nomaximize( FALSE ), keep_running( TRUE ), qpe_main_widget( 0 ) |
98 | 98 | ||
99 | { | 99 | { |
100 | qcopq.setAutoDelete( TRUE ); | 100 | qcopq.setAutoDelete( TRUE ); |
@@ -128,5 +128,5 @@ public: | |||
128 | QWidget* qpe_main_widget; | 128 | QWidget* qpe_main_widget; |
129 | QList<QCopRec> qcopq; | 129 | QList<QCopRec> qcopq; |
130 | 130 | ||
131 | void enqueueQCop( const QCString &ch, const QCString &msg, | 131 | void enqueueQCop( const QCString &ch, const QCString &msg, |
132 | const QByteArray &data ) | 132 | const QByteArray &data ) |
@@ -179,5 +179,5 @@ public: | |||
179 | } | 179 | } |
180 | } | 180 | } |
181 | */ | 181 | */ |
182 | return FALSE; | 182 | return FALSE; |
183 | } | 183 | } |
@@ -331,9 +331,51 @@ static void setMic( int t = 0, int percent = -1 ) | |||
331 | 331 | ||
332 | 332 | ||
333 | static void setBass( int t = 0, int percent = -1 ) | ||
334 | { | ||
335 | switch ( t ) { | ||
336 | case 0: { | ||
337 | Config cfg( "qpe" ); | ||
338 | cfg.setGroup( "Volume" ); | ||
339 | if ( percent < 0 ) | ||
340 | percent = cfg.readNumEntry( "BassPercent", 50 ); | ||
341 | |||
342 | int fd = 0; | ||
343 | int bass = percent; | ||
344 | if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { | ||
345 | ioctl( fd, MIXER_WRITE( SOUND_MIXER_BASS ), &bass ); | ||
346 | ::close( fd ); | ||
347 | } | ||
348 | } | ||
349 | break; | ||
350 | } | ||
351 | } | ||
352 | |||
353 | |||
354 | static void setTreble( int t = 0, int percent = -1 ) | ||
355 | { | ||
356 | switch ( t ) { | ||
357 | case 0: { | ||
358 | Config cfg( "qpe" ); | ||
359 | cfg.setGroup( "Volume" ); | ||
360 | if ( percent < 0 ) | ||
361 | percent = cfg.readNumEntry( "TreblePercent", 50 ); | ||
362 | |||
363 | int fd = 0; | ||
364 | int treble = percent; | ||
365 | if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { | ||
366 | ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble ); | ||
367 | ::close( fd ); | ||
368 | } | ||
369 | } | ||
370 | break; | ||
371 | } | ||
372 | } | ||
373 | |||
374 | |||
333 | /*! | 375 | /*! |
334 | \class QPEApplication qpeapplication.h | 376 | \class QPEApplication qpeapplication.h |
335 | \brief The QPEApplication class implements various system services | 377 | \brief The QPEApplication class implements various system services |
336 | that are available to all Qtopia applications. | 378 | that are available to all Qtopia applications. |
337 | 379 | ||
338 | Simply by using QPEApplication instead of QApplication, a standard Qt | 380 | Simply by using QPEApplication instead of QApplication, a standard Qt |
339 | application becomes a Qtopia application. It automatically follows | 381 | application becomes a Qtopia application. It automatically follows |
@@ -341,5 +383,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
341 | case of \link docwidget.html document-oriented\endlink applications, | 383 | case of \link docwidget.html document-oriented\endlink applications, |
342 | changes the currently displayed document in response to the environment. | 384 | changes the currently displayed document in response to the environment. |
343 | 385 | ||
344 | To create a \link docwidget.html document-oriented\endlink | 386 | To create a \link docwidget.html document-oriented\endlink |
345 | application use showMainDocumentWidget(); to create a | 387 | application use showMainDocumentWidget(); to create a |
@@ -348,5 +390,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
348 | continue running after it's processed the last \link qcop.html | 390 | continue running after it's processed the last \link qcop.html |
349 | QCop\endlink message. This can be changed using setKeepRunning(). | 391 | QCop\endlink message. This can be changed using setKeepRunning(). |
350 | 392 | ||
351 | A variety of signals are emitted when certain events occur, for | 393 | A variety of signals are emitted when certain events occur, for |
352 | example, timeChanged(), clockChanged(), weekChanged(), | 394 | example, timeChanged(), clockChanged(), weekChanged(), |
@@ -359,5 +401,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
359 | files that are involved in synching. Most of these signals will initially | 401 | files that are involved in synching. Most of these signals will initially |
360 | be received and unfiltered through the appMessage() signal. | 402 | be received and unfiltered through the appMessage() signal. |
361 | 403 | ||
362 | This class also provides a set of useful static functions. The | 404 | This class also provides a set of useful static functions. The |
363 | qpeDir() and documentDir() functions return the respective paths. | 405 | qpeDir() and documentDir() functions return the respective paths. |
@@ -368,5 +410,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
368 | stylusOperation(). There are also setInputMethodHint() and | 410 | stylusOperation(). There are also setInputMethodHint() and |
369 | inputMethodHint() functions. | 411 | inputMethodHint() functions. |
370 | 412 | ||
371 | \ingroup qtopiaemb | 413 | \ingroup qtopiaemb |
372 | */ | 414 | */ |
@@ -374,5 +416,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
374 | /*! | 416 | /*! |
375 | \fn void QPEApplication::clientMoused() | 417 | \fn void QPEApplication::clientMoused() |
376 | 418 | ||
377 | \internal | 419 | \internal |
378 | */ | 420 | */ |
@@ -386,5 +428,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
386 | /*! | 428 | /*! |
387 | \fn void QPEApplication::clockChanged( bool ampm ); | 429 | \fn void QPEApplication::clockChanged( bool ampm ); |
388 | 430 | ||
389 | This signal is emitted when the user changes the clock's style. If | 431 | This signal is emitted when the user changes the clock's style. If |
390 | \a ampm is TRUE, the user wants a 12-hour AM/PM clock, otherwise, | 432 | \a ampm is TRUE, the user wants a 12-hour AM/PM clock, otherwise, |
@@ -394,5 +436,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
394 | /*! | 436 | /*! |
395 | \fn void QPEApplication::volumeChanged( bool muted ) | 437 | \fn void QPEApplication::volumeChanged( bool muted ) |
396 | 438 | ||
397 | This signal is emitted whenever the mute state is changed. If \a | 439 | This signal is emitted whenever the mute state is changed. If \a |
398 | muted is TRUE, then sound output has been muted. | 440 | muted is TRUE, then sound output has been muted. |
@@ -401,5 +443,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
401 | /*! | 443 | /*! |
402 | \fn void QPEApplication::weekChanged( bool startOnMonday ) | 444 | \fn void QPEApplication::weekChanged( bool startOnMonday ) |
403 | 445 | ||
404 | This signal is emitted if the week start day is changed. If \a | 446 | This signal is emitted if the week start day is changed. If \a |
405 | startOnMonday is TRUE then the first day of the week is Monday; if | 447 | startOnMonday is TRUE then the first day of the week is Monday; if |
@@ -410,5 +452,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
410 | /*! | 452 | /*! |
411 | \fn void QPEApplication::dateFormatChanged() | 453 | \fn void QPEApplication::dateFormatChanged() |
412 | 454 | ||
413 | This signal is emitted whenever the date format is changed. | 455 | This signal is emitted whenever the date format is changed. |
414 | */ | 456 | */ |
@@ -416,5 +458,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
416 | /*! | 458 | /*! |
417 | \fn void QPEApplication::flush() | 459 | \fn void QPEApplication::flush() |
418 | 460 | ||
419 | ### | 461 | ### |
420 | */ | 462 | */ |
@@ -422,17 +464,17 @@ static void setMic( int t = 0, int percent = -1 ) | |||
422 | /*! | 464 | /*! |
423 | \fn void QPEApplication::reload() | 465 | \fn void QPEApplication::reload() |
424 | 466 | ||
425 | */ | 467 | */ |
426 | 468 | ||
427 | /*! | 469 | /*! |
428 | \fn void QPEApplication::appMessage( const QCString& msg, const QByteArray& data ) | 470 | \fn void QPEApplication::appMessage( const QCString& msg, const QByteArray& data ) |
429 | 471 | ||
430 | This signal is emitted when a message is received on this | 472 | This signal is emitted when a message is received on this |
431 | application's QPE/Application/<i>appname</i> \link qcop.html | 473 | application's QPE/Application/<i>appname</i> \link qcop.html |
432 | QCop\endlink channel. | 474 | QCop\endlink channel. |
433 | 475 | ||
434 | The slot to which you connect this signal uses \a msg and \a data | 476 | The slot to which you connect this signal uses \a msg and \a data |
435 | in the following way: | 477 | in the following way: |
436 | 478 | ||
437 | \code | 479 | \code |
438 | void MyWidget::receive( const QCString& msg, const QByteArray& data ) | 480 | void MyWidget::receive( const QCString& msg, const QByteArray& data ) |
@@ -448,5 +490,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
448 | } | 490 | } |
449 | \endcode | 491 | \endcode |
450 | 492 | ||
451 | \sa qcop.html | 493 | \sa qcop.html |
452 | Note that messages received here may be processed by qpe application | 494 | Note that messages received here may be processed by qpe application |
@@ -457,5 +499,5 @@ static void setMic( int t = 0, int percent = -1 ) | |||
457 | Constructs a QPEApplication just as you would construct | 499 | Constructs a QPEApplication just as you would construct |
458 | a QApplication, passing \a argc, \a argv, and \a t. | 500 | a QApplication, passing \a argc, \a argv, and \a t. |
459 | 501 | ||
460 | For applications, \a t should be the default, GuiClient. Only | 502 | For applications, \a t should be the default, GuiClient. Only |
461 | the Qtopia server passes GuiServer. | 503 | the Qtopia server passes GuiServer. |
@@ -610,6 +652,6 @@ static void createInputMethodDict() | |||
610 | Returns the currently set hint to the system as to whether | 652 | Returns the currently set hint to the system as to whether |
611 | widget \a w has any use for text input methods. | 653 | widget \a w has any use for text input methods. |
612 | 654 | ||
613 | 655 | ||
614 | \sa setInputMethodHint() InputMethodHint | 656 | \sa setInputMethodHint() InputMethodHint |
615 | */ | 657 | */ |
@@ -623,5 +665,5 @@ QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget * w ) | |||
623 | /*! | 665 | /*! |
624 | \enum QPEApplication::InputMethodHint | 666 | \enum QPEApplication::InputMethodHint |
625 | 667 | ||
626 | \value Normal the application sometimes needs text input (the default). | 668 | \value Normal the application sometimes needs text input (the default). |
627 | \value AlwaysOff the application never needs text input. | 669 | \value AlwaysOff the application never needs text input. |
@@ -632,5 +674,5 @@ QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget * w ) | |||
632 | Hints to the system that widget \a w has use for text input methods | 674 | Hints to the system that widget \a w has use for text input methods |
633 | as specified by \a mode. | 675 | as specified by \a mode. |
634 | 676 | ||
635 | \sa inputMethodHint() InputMethodHint | 677 | \sa inputMethodHint() InputMethodHint |
636 | */ | 678 | */ |
@@ -909,10 +951,10 @@ void QPEApplication::applyStyle() | |||
909 | Config config( "qpe" ); | 951 | Config config( "qpe" ); |
910 | config.setGroup( "Appearance" ); | 952 | config.setGroup( "Appearance" ); |
911 | 953 | ||
912 | // don't block ourselves ... | 954 | // don't block ourselves ... |
913 | Opie::force_appearance = 0; | 955 | Opie::force_appearance = 0; |
914 | 956 | ||
915 | static QString appname = Opie::binaryName ( ); | 957 | static QString appname = Opie::binaryName ( ); |
916 | 958 | ||
917 | QStringList ex = config. readListEntry ( "NoStyle", ';' ); | 959 | QStringList ex = config. readListEntry ( "NoStyle", ';' ); |
918 | int nostyle = 0; | 960 | int nostyle = 0; |
@@ -923,12 +965,12 @@ void QPEApplication::applyStyle() | |||
923 | } | 965 | } |
924 | } | 966 | } |
925 | 967 | ||
926 | // Widget style | 968 | // Widget style |
927 | QString style = config.readEntry( "Style", "Light" ); | 969 | QString style = config.readEntry( "Style", "Light" ); |
928 | 970 | ||
929 | // don't set a custom style | 971 | // don't set a custom style |
930 | if ( nostyle & Opie::Force_Style ) | 972 | if ( nostyle & Opie::Force_Style ) |
931 | style = "Light"; | 973 | style = "Light"; |
932 | 974 | ||
933 | internalSetStyle ( style ); | 975 | internalSetStyle ( style ); |
934 | 976 | ||
@@ -955,11 +997,11 @@ void QPEApplication::applyStyle() | |||
955 | // Window Decoration | 997 | // Window Decoration |
956 | QString dec = config.readEntry( "Decoration", "Qtopia" ); | 998 | QString dec = config.readEntry( "Decoration", "Qtopia" ); |
957 | 999 | ||
958 | // don't set a custom deco | 1000 | // don't set a custom deco |
959 | if ( nostyle & Opie::Force_Decoration ) | 1001 | if ( nostyle & Opie::Force_Decoration ) |
960 | dec = ""; | 1002 | dec = ""; |
961 | 1003 | ||
962 | //qDebug ( "Setting Deco: %s -- old %s (%d)", dec.latin1(), d-> decorationName.latin1(), nostyle); | 1004 | //qDebug ( "Setting Deco: %s -- old %s (%d)", dec.latin1(), d-> decorationName.latin1(), nostyle); |
963 | 1005 | ||
964 | if ( dec != d->decorationName ) { | 1006 | if ( dec != d->decorationName ) { |
965 | qwsSetDecoration( new QPEDecoration( dec ) ); | 1007 | qwsSetDecoration( new QPEDecoration( dec ) ); |
@@ -971,12 +1013,12 @@ void QPEApplication::applyStyle() | |||
971 | int fs = config.readNumEntry( "FontSize", font().pointSize() ); | 1013 | int fs = config.readNumEntry( "FontSize", font().pointSize() ); |
972 | 1014 | ||
973 | // don't set a custom font | 1015 | // don't set a custom font |
974 | if ( nostyle & Opie::Force_Font ) { | 1016 | if ( nostyle & Opie::Force_Font ) { |
975 | ff = "Helvetica"; | 1017 | ff = "Helvetica"; |
976 | fs = 10; | 1018 | fs = 10; |
977 | } | 1019 | } |
978 | 1020 | ||
979 | setFont ( QFont ( ff, fs ), true ); | 1021 | setFont ( QFont ( ff, fs ), true ); |
980 | 1022 | ||
981 | // revert to global blocking policy ... | 1023 | // revert to global blocking policy ... |
982 | Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; | 1024 | Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; |
@@ -1117,4 +1159,23 @@ void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data | |||
1117 | emit micChanged( micMuted ); | 1159 | emit micChanged( micMuted ); |
1118 | } | 1160 | } |
1161 | else if ( msg == "setBass(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> | ||
1162 | int t, v; | ||
1163 | stream >> t >> v; | ||
1164 | setBass( t, v ); | ||
1165 | } | ||
1166 | else if ( msg == "bassChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> | ||
1167 | setBass(); | ||
1168 | } | ||
1169 | else if ( msg == "setTreble(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> | ||
1170 | int t, v; | ||
1171 | stream >> t >> v; | ||
1172 | setTreble( t, v ); | ||
1173 | } | ||
1174 | else if ( msg == "trebleChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> | ||
1175 | setTreble(); | ||
1176 | } | ||
1177 | |||
1178 | |||
1179 | |||
1119 | #endif | 1180 | #endif |
1120 | } | 1181 | } |
@@ -1230,5 +1291,5 @@ void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) | |||
1230 | Sets widget \a mw as the mainWidget() and shows it. For small windows, | 1291 | Sets widget \a mw as the mainWidget() and shows it. For small windows, |
1231 | consider passing TRUE for \a nomaximize rather than the default FALSE. | 1292 | consider passing TRUE for \a nomaximize rather than the default FALSE. |
1232 | 1293 | ||
1233 | \sa showMainDocumentWidget() | 1294 | \sa showMainDocumentWidget() |
1234 | */ | 1295 | */ |
@@ -1241,10 +1302,10 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) | |||
1241 | Sets widget \a mw as the mainWidget() and shows it. For small windows, | 1302 | Sets widget \a mw as the mainWidget() and shows it. For small windows, |
1242 | consider passing TRUE for \a nomaximize rather than the default FALSE. | 1303 | consider passing TRUE for \a nomaximize rather than the default FALSE. |
1243 | 1304 | ||
1244 | This calls designates the application as | 1305 | This calls designates the application as |
1245 | a \link docwidget.html document-oriented\endlink application. | 1306 | a \link docwidget.html document-oriented\endlink application. |
1246 | 1307 | ||
1247 | The \a mw widget \e must have this slot: setDocument(const QString&). | 1308 | The \a mw widget \e must have this slot: setDocument(const QString&). |
1248 | 1309 | ||
1249 | \sa showMainWidget() | 1310 | \sa showMainWidget() |
1250 | */ | 1311 | */ |
@@ -1265,5 +1326,5 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) | |||
1265 | after processing its outstanding \link qcop.html QCop\endlink | 1326 | after processing its outstanding \link qcop.html QCop\endlink |
1266 | messages the application will start 'properly' and show itself. | 1327 | messages the application will start 'properly' and show itself. |
1267 | 1328 | ||
1268 | \sa keepRunning() | 1329 | \sa keepRunning() |
1269 | */ | 1330 | */ |
@@ -1279,5 +1340,5 @@ void QPEApplication::setKeepRunning() | |||
1279 | Returns TRUE if the application will quit after processing the | 1340 | Returns TRUE if the application will quit after processing the |
1280 | current list of qcop messages; otherwise returns FALSE. | 1341 | current list of qcop messages; otherwise returns FALSE. |
1281 | 1342 | ||
1282 | \sa setKeepRunning() | 1343 | \sa setKeepRunning() |
1283 | */ | 1344 | */ |
@@ -1420,5 +1481,5 @@ static void createDict() | |||
1420 | /*! | 1481 | /*! |
1421 | Returns the current StylusMode for widget \a w. | 1482 | Returns the current StylusMode for widget \a w. |
1422 | 1483 | ||
1423 | \sa setStylusOperation() StylusMode | 1484 | \sa setStylusOperation() StylusMode |
1424 | */ | 1485 | */ |
@@ -1432,10 +1493,10 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) | |||
1432 | /*! | 1493 | /*! |
1433 | \enum QPEApplication::StylusMode | 1494 | \enum QPEApplication::StylusMode |
1434 | 1495 | ||
1435 | \value LeftOnly the stylus only generates LeftButton | 1496 | \value LeftOnly the stylus only generates LeftButton |
1436 | events (the default). | 1497 | events (the default). |
1437 | \value RightOnHold the stylus generates RightButton events | 1498 | \value RightOnHold the stylus generates RightButton events |
1438 | if the user uses the press-and-hold gesture. | 1499 | if the user uses the press-and-hold gesture. |
1439 | 1500 | ||
1440 | \sa setStylusOperation() stylusOperation() | 1501 | \sa setStylusOperation() stylusOperation() |
1441 | */ | 1502 | */ |
@@ -1444,5 +1505,5 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) | |||
1444 | Causes widget \a w to receive mouse events according to the stylus | 1505 | Causes widget \a w to receive mouse events according to the stylus |
1445 | \a mode. | 1506 | \a mode. |
1446 | 1507 | ||
1447 | \sa stylusOperation() StylusMode | 1508 | \sa stylusOperation() StylusMode |
1448 | */ | 1509 | */ |
@@ -1589,5 +1650,5 @@ void QPEApplication::ungrabKeyboard() | |||
1589 | programs take over the launch keys in this way to make interaction | 1650 | programs take over the launch keys in this way to make interaction |
1590 | easier. | 1651 | easier. |
1591 | 1652 | ||
1592 | \sa ungrabKeyboard() | 1653 | \sa ungrabKeyboard() |
1593 | */ | 1654 | */ |