author | zecke <zecke> | 2004-09-21 00:21:17 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-09-21 00:21:17 (UTC) |
commit | ee21a12cded5c53f196a5183f39e8069a22ef835 (patch) (side-by-side diff) | |
tree | 06141ef53b557986b5f70854f265e9460cda0962 | |
parent | 5c96d26bccfeeb34a639054bf8abe41af687d3c5 (diff) | |
download | opie-ee21a12cded5c53f196a5183f39e8069a22ef835.zip opie-ee21a12cded5c53f196a5183f39e8069a22ef835.tar.gz opie-ee21a12cded5c53f196a5183f39e8069a22ef835.tar.bz2 |
Update Opie Documentation
-rw-r--r-- | libopie2/opiecore/device/odevice.cpp | 64 |
1 files changed, 60 insertions, 4 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp index 2b10034..ec861ee 100644 --- a/libopie2/opiecore/device/odevice.cpp +++ b/libopie2/opiecore/device/odevice.cpp @@ -341,15 +341,20 @@ bool ODevice::setDisplayBrightness ( int p) { Q_UNUSED( p ) return false; } /** -* @return returns the number of steppings on the brightness slider -* in the Light-'n-Power settings. -*/ + * + * @return Returns the number of steppings on the brightness slider + * in the Light-'n-Power settings. Values smaller zero and bigger + * than 255 do not make sense. + * + * \sa QSlider::setLineStep + * \sa QSlider::setPageStep + */ int ODevice::displayBrightnessResolution() const { return 16; } /** @@ -708,20 +713,30 @@ void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction(). message()); // buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction(). data())); QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); } + +/** + * @internal + */ void ODevice::virtual_hook(int, void* ){ } /** + * \brief Send a QCOP Message before suspending + * * Sends a QCOP message to channel QPE/System * with the message "aboutToSuspend()" if this - * is the windowing server + * is the windowing server. + * + * Call this in your custom \sa suspend() Method + * before going to suspend. + * */ void ODevice::sendSuspendmsg() { if ( isQWS() ) return; @@ -755,22 +770,63 @@ void ODevice::addPreHandler(QWSServer::KeyboardFilter*aFilter) */ void ODevice::remPreHandler(QWSServer::KeyboardFilter*aFilter) { Opie::Core::OKeyFilter::inst()->remPreHandler(aFilter); } + +/** + * @internal + * + * @see changeMixerForAlarm + */ void ODevice::playingStopped() { const_cast<QObject*>(sender())->disconnect( this ); #ifndef QT_NO_SOUND if ( d->m_sound >= 0 ) { ::ioctl ( d->m_sound, MIXER_WRITE( d->m_mixer ), &d->m_vol ); ::close ( d->m_sound ); } #endif } + +/** + * \brief Change the Volume for the Alarm and set it back after playing is finished + * + * If you play an Alarm Sound you might want to change the Mixer to + * full volume and ignore the user setting. After it \sa Sound::isFinished + * you would turn the volume back to the user preference. + * The problem is that we used to enter the event loop while waiting + * for the sound to be finished triggering all kind of reentrance + * problems what a library shouldn't introduce. + * Instead of manually waiting for the sound to be finished use + * this Method and it will automatically restore the Mixer to + * the user configuration after the sound finished playing. + * + * Note: The onwership of \param snd is not transfered and playing + * is not started in this method. If 'snd' gets deleted before + * playing is finished the volume doesn't get set back to + * the user preference! + * + * \code + * static Sound snd("alarm"); + * if(!snd.isFinished()) + * return; + * + * changeMixerForAlarm( my_channel, "/dev/mixer", &snd ); + * snd.play() + * \endcode + * + * + * + * @param mixer The mixer number/channel to use + * @param file The file name. If you convert from QString use QFile::encodeName + * @param snd The sound to wait for finishing + * + */ void ODevice::changeMixerForAlarm( int mixer, const char* file, Sound *snd ) { #ifndef QT_NO_SOUND if (( d->m_sound = ::open ( file, O_RDWR )) >= 0 ) { if ( ::ioctl ( d->m_sound, MIXER_READ( mixer ), &d->m_vol ) >= 0 ) { Config cfg ( "qpe" ); cfg. setGroup ( "Volume" ); |