-rw-r--r-- | library/opie-base.control | 2 | ||||
-rw-r--r-- | library/qpeapplication.cpp | 29 | ||||
-rw-r--r-- | library/qpeapplication.h | 6 |
3 files changed, 36 insertions, 1 deletions
diff --git a/library/opie-base.control b/library/opie-base.control index f883268..e610b8b 100644 --- a/library/opie-base.control +++ b/library/opie-base.control @@ -2,9 +2,9 @@ Files: etc/qimpen etc/colors etc/init.d/qpe etc/rc2.d/S98qpe bin/qpe-reorgfiles Priority: required Section: opie/system Maintainer: Warwick Allison <warwick@trolltech.com> Architecture: arm -Version: $QPE_VERSION-$SUB_VERSION +Version: $QPE_VERSION-$SUB_VERSION.1 Depends: qt-embedded (>=$QTE_VERSION), opie-qcop, opie-taskbar, opie-pics, opie-sounds, apmd Description: Base Qtopia environment A complete GUI environment for handhelds. You will probably want to install one of the opie-i18n-* packages. diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 4dbfbd8..a55f5f9 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -162,8 +162,9 @@ public: } }; static int muted=0; +static int micMuted=0; static void setVolume(int t=0, int percent=-1) { switch (t) { @@ -183,8 +184,27 @@ static void setVolume(int t=0, int percent=-1) } break; } } +static void setMic(int t=0, int percent=-1) +{ + switch (t) { + case 0: { + Config cfg("Sound"); + cfg.setGroup("System"); + if ( percent < 0 ) + percent = cfg.readNumEntry("Mic",50); + + int fd = 0; + int mic = micMuted ? 0 : percent; + if ((fd = open("/dev/mixer", O_RDWR))>=0) { + ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); + ::close(fd); + } + } break; + } +} + int qpe_sysBrightnessSteps() { #if defined(QT_QWS_IPAQ) return 255; @@ -985,8 +1005,17 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) } else if ( msg == "volumeChange(bool)" ) { stream >> muted; setVolume(); emit volumeChanged( muted ); + } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + int t,v; + stream >> t >> v; + setMic(t,v); + emit micChanged( micMuted ); + } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + stream >> micMuted; + setMic(); + emit micChanged( micMuted ); } else if ( msg == "setScreenSaverMode(int)" ) { if ( type() == GuiServer ) { int old = disable_suspend; stream >> disable_suspend; diff --git a/library/qpeapplication.h b/library/qpeapplication.h index fd5e57d..23606db 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h @@ -84,8 +84,9 @@ signals: void clientMoused(); void timeChanged(); void clockChanged( bool pm ); void volumeChanged( bool muted ); + void micChanged( bool muted ); void appMessage( const QCString& msg, const QByteArray& data); void weekChanged( bool startOnMonday ); void dateFormatChanged( DateFormat ); void flush(); @@ -116,8 +117,13 @@ private: QCopChannel *sysChannel; QCopChannel *pidChannel; #endif QPEApplicationData *d; + + bool reserved_sh; + + + }; #endif |