author | harlekin <harlekin> | 2002-12-13 19:37:59 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-12-13 19:37:59 (UTC) |
commit | e348262d418e3a133d13d039ed23da4625726f9d (patch) (side-by-side diff) | |
tree | 36cdf26700d424b06b6c37b86e5f1e07bc233b88 | |
parent | 11ccc2e5341677cd54037a1f9cfb04831feed0f9 (diff) | |
download | opie-e348262d418e3a133d13d039ed23da4625726f9d.zip opie-e348262d418e3a133d13d039ed23da4625726f9d.tar.gz opie-e348262d418e3a133d13d039ed23da4625726f9d.tar.bz2 |
added Bass and Treble handling - next stop should be odevice
-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: rightpressed( FALSE ), kbregrab( FALSE ), notbusysent( FALSE ), preloaded( FALSE ), forceshow( FALSE ), nomaximize( FALSE ), keep_running( TRUE ), qpe_main_widget( 0 ) - + { qcopq.setAutoDelete( TRUE ); @@ -128,5 +128,5 @@ public: QWidget* qpe_main_widget; QList<QCopRec> qcopq; - + void enqueueQCop( const QCString &ch, const QCString &msg, const QByteArray &data ) @@ -179,5 +179,5 @@ public: } } - */ + */ return FALSE; } @@ -331,9 +331,51 @@ static void setMic( int t = 0, int percent = -1 ) +static void setBass( int t = 0, int percent = -1 ) +{ + switch ( t ) { + case 0: { + Config cfg( "qpe" ); + cfg.setGroup( "Volume" ); + if ( percent < 0 ) + percent = cfg.readNumEntry( "BassPercent", 50 ); + + int fd = 0; + int bass = percent; + if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { + ioctl( fd, MIXER_WRITE( SOUND_MIXER_BASS ), &bass ); + ::close( fd ); + } + } + break; + } +} + + +static void setTreble( int t = 0, int percent = -1 ) +{ + switch ( t ) { + case 0: { + Config cfg( "qpe" ); + cfg.setGroup( "Volume" ); + if ( percent < 0 ) + percent = cfg.readNumEntry( "TreblePercent", 50 ); + + int fd = 0; + int treble = percent; + if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { + ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble ); + ::close( fd ); + } + } + break; + } +} + + /*! \class QPEApplication qpeapplication.h \brief The QPEApplication class implements various system services that are available to all Qtopia applications. - + Simply by using QPEApplication instead of QApplication, a standard Qt application becomes a Qtopia application. It automatically follows @@ -341,5 +383,5 @@ static void setMic( int t = 0, int percent = -1 ) case of \link docwidget.html document-oriented\endlink applications, changes the currently displayed document in response to the environment. - + To create a \link docwidget.html document-oriented\endlink application use showMainDocumentWidget(); to create a @@ -348,5 +390,5 @@ static void setMic( int t = 0, int percent = -1 ) continue running after it's processed the last \link qcop.html QCop\endlink message. This can be changed using setKeepRunning(). - + A variety of signals are emitted when certain events occur, for example, timeChanged(), clockChanged(), weekChanged(), @@ -359,5 +401,5 @@ static void setMic( int t = 0, int percent = -1 ) files that are involved in synching. Most of these signals will initially be received and unfiltered through the appMessage() signal. - + This class also provides a set of useful static functions. The qpeDir() and documentDir() functions return the respective paths. @@ -368,5 +410,5 @@ static void setMic( int t = 0, int percent = -1 ) stylusOperation(). There are also setInputMethodHint() and inputMethodHint() functions. - + \ingroup qtopiaemb */ @@ -374,5 +416,5 @@ static void setMic( int t = 0, int percent = -1 ) /*! \fn void QPEApplication::clientMoused() - + \internal */ @@ -386,5 +428,5 @@ static void setMic( int t = 0, int percent = -1 ) /*! \fn void QPEApplication::clockChanged( bool ampm ); - + This signal is emitted when the user changes the clock's style. If \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 ) /*! \fn void QPEApplication::volumeChanged( bool muted ) - + This signal is emitted whenever the mute state is changed. If \a muted is TRUE, then sound output has been muted. @@ -401,5 +443,5 @@ static void setMic( int t = 0, int percent = -1 ) /*! \fn void QPEApplication::weekChanged( bool startOnMonday ) - + This signal is emitted if the week start day is changed. If \a 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 ) /*! \fn void QPEApplication::dateFormatChanged() - + This signal is emitted whenever the date format is changed. */ @@ -416,5 +458,5 @@ static void setMic( int t = 0, int percent = -1 ) /*! \fn void QPEApplication::flush() - + ### */ @@ -422,17 +464,17 @@ static void setMic( int t = 0, int percent = -1 ) /*! \fn void QPEApplication::reload() - + */ /*! \fn void QPEApplication::appMessage( const QCString& msg, const QByteArray& data ) - + This signal is emitted when a message is received on this application's QPE/Application/<i>appname</i> \link qcop.html QCop\endlink channel. - + The slot to which you connect this signal uses \a msg and \a data in the following way: - + \code void MyWidget::receive( const QCString& msg, const QByteArray& data ) @@ -448,5 +490,5 @@ static void setMic( int t = 0, int percent = -1 ) } \endcode - + \sa qcop.html Note that messages received here may be processed by qpe application @@ -457,5 +499,5 @@ static void setMic( int t = 0, int percent = -1 ) Constructs a QPEApplication just as you would construct a QApplication, passing \a argc, \a argv, and \a t. - + For applications, \a t should be the default, GuiClient. Only the Qtopia server passes GuiServer. @@ -610,6 +652,6 @@ static void createInputMethodDict() Returns the currently set hint to the system as to whether widget \a w has any use for text input methods. - - + + \sa setInputMethodHint() InputMethodHint */ @@ -623,5 +665,5 @@ QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget * w ) /*! \enum QPEApplication::InputMethodHint - + \value Normal the application sometimes needs text input (the default). \value AlwaysOff the application never needs text input. @@ -632,5 +674,5 @@ QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget * w ) Hints to the system that widget \a w has use for text input methods as specified by \a mode. - + \sa inputMethodHint() InputMethodHint */ @@ -909,10 +951,10 @@ void QPEApplication::applyStyle() Config config( "qpe" ); config.setGroup( "Appearance" ); - + // don't block ourselves ... Opie::force_appearance = 0; - + static QString appname = Opie::binaryName ( ); - + QStringList ex = config. readListEntry ( "NoStyle", ';' ); int nostyle = 0; @@ -923,12 +965,12 @@ void QPEApplication::applyStyle() } } - + // Widget style QString style = config.readEntry( "Style", "Light" ); - + // don't set a custom style if ( nostyle & Opie::Force_Style ) style = "Light"; - + internalSetStyle ( style ); @@ -955,11 +997,11 @@ void QPEApplication::applyStyle() // Window Decoration QString dec = config.readEntry( "Decoration", "Qtopia" ); - + // don't set a custom deco if ( nostyle & Opie::Force_Decoration ) dec = ""; - + //qDebug ( "Setting Deco: %s -- old %s (%d)", dec.latin1(), d-> decorationName.latin1(), nostyle); - + if ( dec != d->decorationName ) { qwsSetDecoration( new QPEDecoration( dec ) ); @@ -971,12 +1013,12 @@ void QPEApplication::applyStyle() int fs = config.readNumEntry( "FontSize", font().pointSize() ); - // don't set a custom font + // don't set a custom font if ( nostyle & Opie::Force_Font ) { ff = "Helvetica"; fs = 10; } - + setFont ( QFont ( ff, fs ), true ); - + // revert to global blocking policy ... 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 emit micChanged( micMuted ); } + else if ( msg == "setBass(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> + int t, v; + stream >> t >> v; + setBass( t, v ); + } + else if ( msg == "bassChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> + setBass(); + } + else if ( msg == "setTreble(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> + int t, v; + stream >> t >> v; + setTreble( t, v ); + } + else if ( msg == "trebleChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> + setTreble(); + } + + + #endif } @@ -1230,5 +1291,5 @@ void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) Sets widget \a mw as the mainWidget() and shows it. For small windows, consider passing TRUE for \a nomaximize rather than the default FALSE. - + \sa showMainDocumentWidget() */ @@ -1241,10 +1302,10 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) Sets widget \a mw as the mainWidget() and shows it. For small windows, consider passing TRUE for \a nomaximize rather than the default FALSE. - + This calls designates the application as a \link docwidget.html document-oriented\endlink application. - + The \a mw widget \e must have this slot: setDocument(const QString&). - + \sa showMainWidget() */ @@ -1265,5 +1326,5 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) after processing its outstanding \link qcop.html QCop\endlink messages the application will start 'properly' and show itself. - + \sa keepRunning() */ @@ -1279,5 +1340,5 @@ void QPEApplication::setKeepRunning() Returns TRUE if the application will quit after processing the current list of qcop messages; otherwise returns FALSE. - + \sa setKeepRunning() */ @@ -1420,5 +1481,5 @@ static void createDict() /*! Returns the current StylusMode for widget \a w. - + \sa setStylusOperation() StylusMode */ @@ -1432,10 +1493,10 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) /*! \enum QPEApplication::StylusMode - + \value LeftOnly the stylus only generates LeftButton events (the default). \value RightOnHold the stylus generates RightButton events if the user uses the press-and-hold gesture. - + \sa setStylusOperation() stylusOperation() */ @@ -1444,5 +1505,5 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) Causes widget \a w to receive mouse events according to the stylus \a mode. - + \sa stylusOperation() StylusMode */ @@ -1589,5 +1650,5 @@ void QPEApplication::ungrabKeyboard() programs take over the launch keys in this way to make interaction easier. - + \sa ungrabKeyboard() */ |