-rw-r--r-- | library/qpeapplication.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 4dbfbd8..a55f5f9 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp | |||
@@ -160,12 +160,13 @@ public: | |||
160 | } | 160 | } |
161 | return r; | 161 | return r; |
162 | } | 162 | } |
163 | }; | 163 | }; |
164 | 164 | ||
165 | static int muted=0; | 165 | static int muted=0; |
166 | static int micMuted=0; | ||
166 | 167 | ||
167 | static void setVolume(int t=0, int percent=-1) | 168 | static void setVolume(int t=0, int percent=-1) |
168 | { | 169 | { |
169 | switch (t) { | 170 | switch (t) { |
170 | case 0: { | 171 | case 0: { |
171 | Config cfg("Sound"); | 172 | Config cfg("Sound"); |
@@ -181,12 +182,31 @@ static void setVolume(int t=0, int percent=-1) | |||
181 | ::close(fd); | 182 | ::close(fd); |
182 | } | 183 | } |
183 | } break; | 184 | } break; |
184 | } | 185 | } |
185 | } | 186 | } |
186 | 187 | ||
188 | static void setMic(int t=0, int percent=-1) | ||
189 | { | ||
190 | switch (t) { | ||
191 | case 0: { | ||
192 | Config cfg("Sound"); | ||
193 | cfg.setGroup("System"); | ||
194 | if ( percent < 0 ) | ||
195 | percent = cfg.readNumEntry("Mic",50); | ||
196 | |||
197 | int fd = 0; | ||
198 | int mic = micMuted ? 0 : percent; | ||
199 | if ((fd = open("/dev/mixer", O_RDWR))>=0) { | ||
200 | ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); | ||
201 | ::close(fd); | ||
202 | } | ||
203 | } break; | ||
204 | } | ||
205 | } | ||
206 | |||
187 | int qpe_sysBrightnessSteps() | 207 | int qpe_sysBrightnessSteps() |
188 | { | 208 | { |
189 | #if defined(QT_QWS_IPAQ) | 209 | #if defined(QT_QWS_IPAQ) |
190 | return 255; | 210 | return 255; |
191 | #elif defined(QT_QWS_EBX) | 211 | #elif defined(QT_QWS_EBX) |
192 | return 4; | 212 | return 4; |
@@ -983,12 +1003,21 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) | |||
983 | setVolume(t,v); | 1003 | setVolume(t,v); |
984 | emit volumeChanged( muted ); | 1004 | emit volumeChanged( muted ); |
985 | } else if ( msg == "volumeChange(bool)" ) { | 1005 | } else if ( msg == "volumeChange(bool)" ) { |
986 | stream >> muted; | 1006 | stream >> muted; |
987 | setVolume(); | 1007 | setVolume(); |
988 | emit volumeChanged( muted ); | 1008 | emit volumeChanged( muted ); |
1009 | } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> | ||
1010 | int t,v; | ||
1011 | stream >> t >> v; | ||
1012 | setMic(t,v); | ||
1013 | emit micChanged( micMuted ); | ||
1014 | } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> | ||
1015 | stream >> micMuted; | ||
1016 | setMic(); | ||
1017 | emit micChanged( micMuted ); | ||
989 | } else if ( msg == "setScreenSaverMode(int)" ) { | 1018 | } else if ( msg == "setScreenSaverMode(int)" ) { |
990 | if ( type() == GuiServer ) { | 1019 | if ( type() == GuiServer ) { |
991 | int old = disable_suspend; | 1020 | int old = disable_suspend; |
992 | stream >> disable_suspend; | 1021 | stream >> disable_suspend; |
993 | //qDebug("setScreenSaverMode(%d)", disable_suspend ); | 1022 | //qDebug("setScreenSaverMode(%d)", disable_suspend ); |
994 | if ( disable_suspend > old ) | 1023 | if ( disable_suspend > old ) |