summaryrefslogtreecommitdiff
path: root/core
Unidiff
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/volumeapplet/volume.cpp152
-rw-r--r--core/applets/volumeapplet/volume.h10
2 files changed, 159 insertions, 3 deletions
diff --git a/core/applets/volumeapplet/volume.cpp b/core/applets/volumeapplet/volume.cpp
index 06eec58..e066a83 100644
--- a/core/applets/volumeapplet/volume.cpp
+++ b/core/applets/volumeapplet/volume.cpp
@@ -35,6 +35,7 @@
35#include <qlayout.h> 35#include <qlayout.h>
36#include <qframe.h> 36#include <qframe.h>
37#include <qpixmap.h> 37#include <qpixmap.h>
38#include <qvbox.h>
38#include <qlabel.h> 39#include <qlabel.h>
39 40
40#include <qtoolbutton.h> 41#include <qtoolbutton.h>
@@ -123,6 +124,63 @@ static const char * mic_xpm[] = {
123" . ", 124" . ",
124". "}; 125". "};
125 126
127
128static const char * bass_xpm[] = {
129"20 20 3 1",
130" c None",
131". c #000000",
132"+ c #0000FF",
133" ",
134" ",
135" ",
136"..... +++ ......",
137" +++++++ ",
138" ++ ++ ",
139"... ++ ... ++ ++ .",
140" +++ ++ ++ ",
141" ++++ ++ ",
142"... ++++ .. ++ .....",
143" ++ ++ ",
144" ++ ++ ",
145"..........++ ++ .",
146" ++ ",
147" ++ ",
148"...... ++ .........",
149" + ",
150" ",
151" ",
152" "};
153
154
155static const char * treble_xpm[] = {
156"20 20 3 1",
157" c None",
158". c #0000FF",
159"+ c #000000",
160" .. ",
161" . .. ",
162" . .. ",
163"++++++++ . .. ++++++",
164" . . ",
165" ... ",
166"++++++++ . +++++++",
167" .. ",
168" .. . ",
169"+++ .. ... +++++++",
170" .. .. .. ",
171" .. . . .. ",
172"+++ .. . . + . +++++",
173" .. . .. ",
174" .. . .. ",
175"++++ ...... +++++++",
176" . ",
177" .. . ",
178" .. . ",
179" .. "};
180
181
182
183
126/* XPM */ 184/* XPM */
127static const char * alarm_xpm[] = { 185static const char * alarm_xpm[] = {
128"20 20 33 1", 186"20 20 33 1",
@@ -186,6 +244,8 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa
186 m_icon = icon; 244 m_icon = icon;
187 245
188 bool has_wav_alarm = true; 246 bool has_wav_alarm = true;
247 bool has_bass = true;
248 bool has_treble = true;
189 249
190 switch ( ODevice::inst ( )-> model ( )) { // we need to add other devices eventually 250 switch ( ODevice::inst ( )-> model ( )) { // we need to add other devices eventually
191 case Model_Zaurus_SL5000: 251 case Model_Zaurus_SL5000:
@@ -195,6 +255,11 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa
195 break; 255 break;
196 } 256 }
197 257
258 if ( !ODevice::series == Model_iPAQ ) {
259 has_bass = false;
260 has_treble = false;
261 }
262
198 263
199 setFrameStyle ( QFrame::PopupPanel | QFrame::Raised ); 264 setFrameStyle ( QFrame::PopupPanel | QFrame::Raised );
200 265
@@ -241,6 +306,42 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa
241 306
242 grid-> addWidget ( volLed, 2, 1, AlignCenter ); 307 grid-> addWidget ( volLed, 2, 1, AlignCenter );
243 308
309 QVBox *basstrebleBox = new QVBox( this );
310
311 trebleSlider = new QSlider ( basstrebleBox );
312 trebleSlider-> setRange ( 0, 100 );
313 trebleSlider-> setTickmarks ( QSlider::Both );
314 trebleSlider-> setTickInterval ( 20 );
315 trebleSlider->setMaximumHeight( 40 );
316 trebleSlider-> setFocusPolicy ( QWidget::NoFocus );
317
318 bassSlider = new QSlider ( basstrebleBox );
319 bassSlider-> setRange ( 0, 100 );
320 bassSlider-> setTickmarks ( QSlider::Both );
321 bassSlider-> setTickInterval ( 20 );
322 bassSlider->setMaximumHeight( 40 );
323 bassSlider-> setFocusPolicy ( QWidget::NoFocus );
324
325 QLabel *bassLabel = new QLabel ( this );
326 bassLabel-> setPixmap ( QPixmap ( bass_xpm ));
327
328 QLabel *trebleLabel = new QLabel( this );
329 trebleLabel->setPixmap( QPixmap ( treble_xpm ) );
330
331 grid->addWidget( trebleLabel, 0, 4, AlignCenter );
332 grid->addWidget( basstrebleBox, 1, 4, AlignCenter );
333 grid-> addWidget ( bassLabel, 2, 4, AlignCenter );
334
335 if ( !has_bass ) {
336 bassSlider->hide();
337 bassLabel->hide();
338 }
339
340 if ( !has_treble ) {
341 trebleSlider->hide();
342 trebleLabel->hide();
343 }
344
244 micSlider = new QSlider ( this ); 345 micSlider = new QSlider ( this );
245 micSlider-> setRange ( 0, 100 ); 346 micSlider-> setRange ( 0, 100 );
246 micSlider-> setTickmarks ( QSlider::Both ); 347 micSlider-> setTickmarks ( QSlider::Both );
@@ -283,11 +384,11 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa
283 alarmLed-> hide ( ); 384 alarmLed-> hide ( );
284 } 385 }
285 386
286 grid-> addWidget ( new QLabel ( tr( "Enable Sounds for:" ), this ), 0, 4, AlignVCenter | AlignLeft ); 387 grid-> addWidget ( new QLabel ( tr( "Enable Sounds for:" ), this ), 0, 6, AlignVCenter | AlignLeft );
287 388
288 vbox = new QVBoxLayout ( ); 389 vbox = new QVBoxLayout ( );
289 vbox-> setSpacing ( 4 ); 390 vbox-> setSpacing ( 4 );
290 grid-> addMultiCellLayout ( vbox, 1, 2, 4, 4 ); 391 grid-> addMultiCellLayout ( vbox, 1, 2, 6, 6 );
291 392
292 tapBox = new QCheckBox ( tr( "Screen Taps" ), this ); 393 tapBox = new QCheckBox ( tr( "Screen Taps" ), this );
293 tapBox-> setFocusPolicy ( QWidget::NoFocus ); 394 tapBox-> setFocusPolicy ( QWidget::NoFocus );
@@ -324,6 +425,9 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa
324 connect ( micSlider, SIGNAL( valueChanged ( int )), this, SLOT( micMoved( int ))); 425 connect ( micSlider, SIGNAL( valueChanged ( int )), this, SLOT( micMoved( int )));
325 connect ( volSlider, SIGNAL( valueChanged ( int )), this, SLOT( volMoved( int ))); 426 connect ( volSlider, SIGNAL( valueChanged ( int )), this, SLOT( volMoved( int )));
326 connect ( alarmSlider, SIGNAL( valueChanged ( int )), this, SLOT( alarmMoved( int ))); 427 connect ( alarmSlider, SIGNAL( valueChanged ( int )), this, SLOT( alarmMoved( int )));
428 connect ( bassSlider, SIGNAL( valueChanged ( int )), this, SLOT( bassMoved( int )));
429 connect ( trebleSlider, SIGNAL( valueChanged ( int )), this, SLOT( trebleMoved( int )));
430
327 431
328 connect ( volLed, SIGNAL( toggled ( bool )), this, SLOT( volMuteToggled ( bool ))); 432 connect ( volLed, SIGNAL( toggled ( bool )), this, SLOT( volMuteToggled ( bool )));
329 connect ( micLed, SIGNAL( toggled ( bool )), this, SLOT( micMuteToggled ( bool ))); 433 connect ( micLed, SIGNAL( toggled ( bool )), this, SLOT( micMuteToggled ( bool )));
@@ -340,6 +444,8 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa
340 // initialize the config file, in case some entries are missing 444 // initialize the config file, in case some entries are missing
341 445
342 writeConfigEntry ( "VolumePercent", m_vol_percent, UPD_None ); 446 writeConfigEntry ( "VolumePercent", m_vol_percent, UPD_None );
447 writeConfigEntry ( "BassPercent", m_vol_percent, UPD_None );
448 writeConfigEntry ( "TreblePercent", m_vol_percent, UPD_None );
343 writeConfigEntry ( "Mute", m_vol_muted, UPD_None ); 449 writeConfigEntry ( "Mute", m_vol_muted, UPD_None );
344 writeConfigEntry ( "AlarmPercent", m_alarm_percent, UPD_None ); 450 writeConfigEntry ( "AlarmPercent", m_alarm_percent, UPD_None );
345 writeConfigEntry ( "TouchSound", m_snd_touch, UPD_None ); 451 writeConfigEntry ( "TouchSound", m_snd_touch, UPD_None );
@@ -422,6 +528,8 @@ void VolumeControl::readConfig ( bool force )
422 528
423 int old_vp = m_vol_percent; 529 int old_vp = m_vol_percent;
424 int old_mp = m_mic_percent; 530 int old_mp = m_mic_percent;
531 int old_bass = m_bass_percent;
532 int old_treble = m_treble_percent;
425 bool old_vm = m_vol_muted; 533 bool old_vm = m_vol_muted;
426 bool old_mm = m_mic_muted; 534 bool old_mm = m_mic_muted;
427 bool old_sk = m_snd_key; 535 bool old_sk = m_snd_key;
@@ -431,6 +539,8 @@ void VolumeControl::readConfig ( bool force )
431 539
432 m_vol_percent = cfg. readNumEntry ( "VolumePercent", 50 ); 540 m_vol_percent = cfg. readNumEntry ( "VolumePercent", 50 );
433 m_mic_percent = cfg. readNumEntry ( "Mic", 50 ); 541 m_mic_percent = cfg. readNumEntry ( "Mic", 50 );
542 m_bass_percent = cfg. readNumEntry ( "BassPercent", 50 );
543 m_treble_percent = cfg. readNumEntry ( "TreblePercent", 50 );
434 m_vol_muted = cfg. readBoolEntry ( "Mute", 0 ); 544 m_vol_muted = cfg. readBoolEntry ( "Mute", 0 );
435 m_mic_muted = cfg. readBoolEntry ( "MicMute", 0 ); 545 m_mic_muted = cfg. readBoolEntry ( "MicMute", 0 );
436 m_snd_key = cfg. readBoolEntry ( "KeySound", 0 ); 546 m_snd_key = cfg. readBoolEntry ( "KeySound", 0 );
@@ -444,6 +554,11 @@ void VolumeControl::readConfig ( bool force )
444 micSlider-> setValue ( 100 - m_mic_percent ); 554 micSlider-> setValue ( 100 - m_mic_percent );
445 if ( force || ( m_alarm_percent != old_ap )) 555 if ( force || ( m_alarm_percent != old_ap ))
446 alarmSlider-> setValue ( 100 - m_alarm_percent ); 556 alarmSlider-> setValue ( 100 - m_alarm_percent );
557 if ( force || ( m_bass_percent != old_bass ))
558 bassSlider-> setValue ( 100 - m_bass_percent );
559 if ( force || ( m_treble_percent != old_treble ))
560 trebleSlider-> setValue ( 100 - m_treble_percent );
561
447 562
448 if ( force || ( m_vol_muted != old_vm )) 563 if ( force || ( m_vol_muted != old_vm ))
449 volLed-> setOn ( !m_vol_muted ); 564 volLed-> setOn ( !m_vol_muted );
@@ -549,6 +664,30 @@ void VolumeControl::alarmMoved ( int percent )
549} 664}
550 665
551 666
667void VolumeControl::bassMoved ( int percent )
668{
669 m_bass_percent = 100 - percent;
670
671 // clamp bass percent to be between 0 and 100
672 m_bass_percent = ( m_bass_percent < 0 ) ? 0 : (( m_bass_percent > 100 ) ? 100 : m_bass_percent );
673
674 writeConfigEntry ( "BassPercent", m_bass_percent, UPD_Bass );
675}
676
677
678
679void VolumeControl::trebleMoved ( int percent )
680{
681 m_treble_percent = 100 - percent;
682
683 // clamp treble percent to be between 0 and 100
684 m_treble_percent = ( m_treble_percent < 0 ) ? 0 : (( m_treble_percent > 100 ) ? 100 : m_treble_percent );
685
686 writeConfigEntry ( "TreblePercent", m_treble_percent, UPD_Treble );
687}
688
689
690
552void VolumeControl::writeConfigEntry ( const char *entry, int val, eUpdate upd ) 691void VolumeControl::writeConfigEntry ( const char *entry, int val, eUpdate upd )
553{ 692{
554 Config cfg ( "qpe" ); 693 Config cfg ( "qpe" );
@@ -566,6 +705,15 @@ void VolumeControl::writeConfigEntry ( const char *entry, int val, eUpdate upd )
566 QCopEnvelope ( "QPE/System", "micChange(bool)" ) << m_mic_muted; 705 QCopEnvelope ( "QPE/System", "micChange(bool)" ) << m_mic_muted;
567 break; 706 break;
568 } 707 }
708 case UPD_Bass: {
709 QCopEnvelope ( "QPE/System", "bassChange(bool)" ) << true;
710 break;
711 }
712 case UPD_Treble: {
713 QCopEnvelope ( "QPE/System", "trebleChange(bool)" ) << true;
714 break;
715 }
716
569 case UPD_None: 717 case UPD_None:
570 break; 718 break;
571 } 719 }
diff --git a/core/applets/volumeapplet/volume.h b/core/applets/volumeapplet/volume.h
index 4d988ac..d2345b5 100644
--- a/core/applets/volumeapplet/volume.h
+++ b/core/applets/volumeapplet/volume.h
@@ -55,6 +55,8 @@ private slots:
55 void volMoved ( int percent ); 55 void volMoved ( int percent );
56 void micMoved ( int percent ); 56 void micMoved ( int percent );
57 void alarmMoved ( int percent ); 57 void alarmMoved ( int percent );
58 void bassMoved( int percent );
59 void trebleMoved( int percent );
58 60
59 void volMuteToggled ( bool ); 61 void volMuteToggled ( bool );
60 void micMuteToggled ( bool ); 62 void micMuteToggled ( bool );
@@ -71,13 +73,17 @@ private:
71 enum eUpdate { 73 enum eUpdate {
72 UPD_None, 74 UPD_None,
73 UPD_Vol, 75 UPD_Vol,
74 UPD_Mic 76 UPD_Mic,
77 UPD_Bass,
78 UPD_Treble
75 }; 79 };
76 void writeConfigEntry ( const char *entry, int val, eUpdate upd ); 80 void writeConfigEntry ( const char *entry, int val, eUpdate upd );
77 81
78 82
79private: 83private:
80 QSlider *volSlider; 84 QSlider *volSlider;
85 QSlider *bassSlider;
86 QSlider *trebleSlider;
81 QSlider *micSlider; 87 QSlider *micSlider;
82 QSlider *alarmSlider; 88 QSlider *alarmSlider;
83 OLedBox *volLed; 89 OLedBox *volLed;
@@ -94,6 +100,8 @@ private:
94 int m_vol_percent; 100 int m_vol_percent;
95 int m_mic_percent; 101 int m_mic_percent;
96 int m_alarm_percent; 102 int m_alarm_percent;
103 int m_bass_percent;
104 int m_treble_percent;
97 bool m_vol_muted; 105 bool m_vol_muted;
98 bool m_mic_muted; 106 bool m_mic_muted;
99 bool m_snd_alarm; 107 bool m_snd_alarm;