-rw-r--r-- | core/applets/volumeapplet/volume.cpp | 152 | ||||
-rw-r--r-- | core/applets/volumeapplet/volume.h | 10 |
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 | |||
@@ -37,2 +37,3 @@ | |||
37 | #include <qpixmap.h> | 37 | #include <qpixmap.h> |
38 | #include <qvbox.h> | ||
38 | #include <qlabel.h> | 39 | #include <qlabel.h> |
@@ -125,2 +126,59 @@ static const char * mic_xpm[] = { | |||
125 | 126 | ||
127 | |||
128 | static 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 | |||
155 | static 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 */ |
@@ -188,2 +246,4 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
188 | bool has_wav_alarm = true; | 246 | bool has_wav_alarm = true; |
247 | bool has_bass = true; | ||
248 | bool has_treble = true; | ||
189 | 249 | ||
@@ -197,2 +257,7 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
197 | 257 | ||
258 | if ( !ODevice::series == Model_iPAQ ) { | ||
259 | has_bass = false; | ||
260 | has_treble = false; | ||
261 | } | ||
262 | |||
198 | 263 | ||
@@ -243,2 +308,38 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
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 ); |
@@ -285,3 +386,3 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
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 | ||
@@ -289,3 +390,3 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
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 | ||
@@ -326,2 +427,5 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
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 | ||
@@ -342,2 +446,4 @@ VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *pa | |||
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 ); |
@@ -424,2 +530,4 @@ void VolumeControl::readConfig ( bool force ) | |||
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; |
@@ -433,2 +541,4 @@ void VolumeControl::readConfig ( bool force ) | |||
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 ); |
@@ -446,2 +556,7 @@ void VolumeControl::readConfig ( bool force ) | |||
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 | ||
@@ -551,2 +666,26 @@ void VolumeControl::alarmMoved ( int percent ) | |||
551 | 666 | ||
667 | void 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 | |||
679 | void 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 | |||
552 | void VolumeControl::writeConfigEntry ( const char *entry, int val, eUpdate upd ) | 691 | void VolumeControl::writeConfigEntry ( const char *entry, int val, eUpdate upd ) |
@@ -568,2 +707,11 @@ void VolumeControl::writeConfigEntry ( const char *entry, int val, eUpdate upd ) | |||
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: |
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 | |||
@@ -57,2 +57,4 @@ private slots: | |||
57 | void alarmMoved ( int percent ); | 57 | void alarmMoved ( int percent ); |
58 | void bassMoved( int percent ); | ||
59 | void trebleMoved( int percent ); | ||
58 | 60 | ||
@@ -73,3 +75,5 @@ private: | |||
73 | UPD_Vol, | 75 | UPD_Vol, |
74 | UPD_Mic | 76 | UPD_Mic, |
77 | UPD_Bass, | ||
78 | UPD_Treble | ||
75 | }; | 79 | }; |
@@ -80,2 +84,4 @@ private: | |||
80 | QSlider *volSlider; | 84 | QSlider *volSlider; |
85 | QSlider *bassSlider; | ||
86 | QSlider *trebleSlider; | ||
81 | QSlider *micSlider; | 87 | QSlider *micSlider; |
@@ -96,2 +102,4 @@ private: | |||
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; |